GET https://kbin.spritesserver.nl/m/linux@lemmy.ml/comments/top?p=570

Components

21 Twig Components
207 Render Count
705 ms Render Time
18.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
21 11.87ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
21 3.66ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
20 912.08ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
20 2.14ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
20 35.72ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
20 11.44ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
20 29.73ms
entry_comments_nested
"App\Twig\Components\EntryCommentsNestedComponent"
components/_cached.html.twig
20 433.76ms
entry_inline
"App\Twig\Components\EntryInlineComponent"
components/entry_inline.html.twig
15 2.25ms
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 2.37ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.64ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.36ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 29.26ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.45ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 1.94ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 0.30ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 1.15ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 1.93ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 1.64ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 0.27ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 0.73ms

Render calls

entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 239.17 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#3186
  +comment: App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.37 ms
Input props
[
  "user" => App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#3393
  +user: App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.50 ms
Input props
[
  "date" => DateTimeImmutable @1698080611 {#1473
    date: 2023-10-23 19:03:31.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3464
  +date: DateTimeImmutable @1698080611 {#1473
    date: 2023-10-23 19:03:31.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.14 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698080611 {#1473
    date: 2023-10-23 19:03:31.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3528
  +createdAt: DateTimeImmutable @1698080611 {#1473
    date: 2023-10-23 19:03:31.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.25 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#1748
    +user: Proxies\__CG__\App\Entity\User {#3297 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#3309 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
    +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
    +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
    +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
    +body: """
      > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
      \n
      > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 5
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698269261 {#3298
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#3338 …}
    +votes: Doctrine\ORM\PersistentCollection {#3336 …}
    +reports: Doctrine\ORM\PersistentCollection {#3333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
    +badges: Doctrine\ORM\PersistentCollection {#3380 …}
    +children: []
    -id: 11387
    -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
    -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1698030817
    +visibility: "visible             "
    +apId: "https://lemmy.ndlug.org/post/312980"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698008317 {#3304
      date: 2023-10-22 22:58:37.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#3593
  +entry: Proxies\__CG__\App\Entity\Entry {#1748
    +user: Proxies\__CG__\App\Entity\User {#3297 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#3309 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
    +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
    +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
    +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
    +body: """
      > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
      \n
      > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 5
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698269261 {#3298
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#3338 …}
    +votes: Doctrine\ORM\PersistentCollection {#3336 …}
    +reports: Doctrine\ORM\PersistentCollection {#3333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
    +badges: Doctrine\ORM\PersistentCollection {#3380 …}
    +children: []
    -id: 11387
    -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
    -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1698030817
    +visibility: "visible             "
    +apId: "https://lemmy.ndlug.org/post/312980"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698008317 {#3304
      date: 2023-10-22 22:58:37.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.22 ms
Input props
[
  "user" => App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#3656
  +width: 40
  +height: 40
  +user: App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.50 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3754
  +subject: App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 1.18 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3821
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 153.17 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4123
  +comment: App\Entity\EntryComment {#1780
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
      \n
      EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700299037 {#1533
      date: 2023-11-18 10:17:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1468 …}
    +nested: Doctrine\ORM\PersistentCollection {#1471 …}
    +votes: Doctrine\ORM\PersistentCollection {#1758 …}
    +reports: Doctrine\ORM\PersistentCollection {#1494 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
    -id: 106182
    -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4731423"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698080611 {#1473
      date: 2023-10-23 19:03:31.0 +02:00
    }
  }
  +nestedComments: [
    119615 => App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536}
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135
          +avatar: null
          +cover: null
          +email: "Pantherina@feddit.de"
          +username: "@Pantherina@feddit.de"
          +roles: []
          +followersCount: 0
          +homepage: "front"
          +about: null
          +lastActive: DateTime @1721498243 {#5008
            date: 2024-07-20 19:57:23.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 {#5011 …}
          +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
          +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
          +entries: Doctrine\ORM\PersistentCollection {#5017 …}
          +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
          +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
          +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
          +posts: Doctrine\ORM\PersistentCollection {#5025 …}
          +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
          +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
          +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
          +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
          +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
          +follows: Doctrine\ORM\PersistentCollection {#5037 …}
          +followers: Doctrine\ORM\PersistentCollection {#5039 …}
          +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
          +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
          +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
          +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
          +reports: Doctrine\ORM\PersistentCollection {#5049 …}
          +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
          +violations: Doctrine\ORM\PersistentCollection {#5053 …}
          +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
          +awards: Doctrine\ORM\PersistentCollection {#5057 …}
          +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
          +categories: Doctrine\ORM\PersistentCollection {#5061 …}
          -id: 48318
          -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
          -totpSecret: null
          -totpBackupCodes: []
          -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
          +apId: "Pantherina@feddit.de"
          +apProfileId: "https://feddit.de/u/Pantherina"
          +apPublicUrl: "https://feddit.de/u/Pantherina"
          +apFollowersUrl: null
          +apInboxUrl: "https://feddit.de/inbox"
          +apDomain: "feddit.de"
          +apPreferredUsername: "Pantherina"
          +apDiscoverable: true
          +apManuallyApprovesFollowers: false
          +privateKey: null
          +publicKey: null
          +apFetchedAt: DateTime @1721236644 {#5009
            date: 2024-07-17 19:17:24.0 +02:00
          }
          +apDeletedAt: null
          +apTimeoutAt: null
          +visibility: "visible             "
          +createdAt: DateTimeImmutable @1696428300 {#5010
            date: 2023-10-04 16:05:00.0 +02:00
          }
          +__isInitialized__: true
           …2
        }
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780}
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    109299 => App\Entity\EntryComment {#3068
      +user: Proxies\__CG__\App\Entity\User {#3151
        +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
        +cover: null
        +email: "xcjs@programming.dev"
        +username: "@xcjs@programming.dev"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700979608 {#4291
          date: 2023-11-26 07:20:08.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 {#4298 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
        +entries: Doctrine\ORM\PersistentCollection {#4304 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
        +posts: Doctrine\ORM\PersistentCollection {#4312 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
        +follows: Doctrine\ORM\PersistentCollection {#4324 …}
        +followers: Doctrine\ORM\PersistentCollection {#4326 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
        +reports: Doctrine\ORM\PersistentCollection {#4336 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
        +violations: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        +awards: Doctrine\ORM\PersistentCollection {#4344 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
        +categories: Doctrine\ORM\PersistentCollection {#4348 …}
        -id: 71056
        -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
        +apId: "xcjs@programming.dev"
        +apProfileId: "https://programming.dev/u/xcjs"
        +apPublicUrl: "https://programming.dev/u/xcjs"
        +apFollowersUrl: null
        +apInboxUrl: "https://programming.dev/inbox"
        +apDomain: "programming.dev"
        +apPreferredUsername: "xcjs"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701608490 {#4288
          date: 2023-12-03 14:01:30.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699078854 {#4290
          date: 2023-11-04 07:20:54.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780}
      +root: App\Entity\EntryComment {#1780}
      +body: """
        I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
        \n
        Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
        \n
        Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1698163407 {#3069
        date: 2023-10-24 18:03:27.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3150 …}
      +nested: Doctrine\ORM\PersistentCollection {#3148 …}
      +votes: Doctrine\ORM\PersistentCollection {#3146 …}
      +reports: Doctrine\ORM\PersistentCollection {#3144 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
      -id: 109299
      -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/4189293"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698163407 {#3072
        date: 2023-10-24 18:03:27.0 +02:00
      }
    }
    113550 => App\Entity\EntryComment {#3136}
    126659 => App\Entity\EntryComment {#3159
      +user: Proxies\__CG__\App\Entity\User {#3135 …2}
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3096}
      +root: App\Entity\EntryComment {#1780}
      +body: "Damn Dell. What the fuck XD"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1698269261 {#3156
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3153 …}
      +nested: Doctrine\ORM\PersistentCollection {#3165 …}
      +votes: Doctrine\ORM\PersistentCollection {#3164 …}
      +reports: Doctrine\ORM\PersistentCollection {#3160 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
      -id: 126659
      -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4226539"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698269261 {#3168
        date: 2023-10-25 23:27:41.0 +02:00
      }
    }
  ]
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 52.37 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4204
  +comment: App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 2.29 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3151
    +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
    +cover: null
    +email: "xcjs@programming.dev"
    +username: "@xcjs@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700979608 {#4291
      date: 2023-11-26 07:20:08.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 {#4298 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
    +entries: Doctrine\ORM\PersistentCollection {#4304 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
    +posts: Doctrine\ORM\PersistentCollection {#4312 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
    +follows: Doctrine\ORM\PersistentCollection {#4324 …}
    +followers: Doctrine\ORM\PersistentCollection {#4326 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +violations: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    +awards: Doctrine\ORM\PersistentCollection {#4344 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
    +categories: Doctrine\ORM\PersistentCollection {#4348 …}
    -id: 71056
    -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
    +apId: "xcjs@programming.dev"
    +apProfileId: "https://programming.dev/u/xcjs"
    +apPublicUrl: "https://programming.dev/u/xcjs"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "xcjs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701608490 {#4288
      date: 2023-12-03 14:01:30.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699078854 {#4290
      date: 2023-11-04 07:20:54.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4251
  +user: Proxies\__CG__\App\Entity\User {#3151
    +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
    +cover: null
    +email: "xcjs@programming.dev"
    +username: "@xcjs@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700979608 {#4291
      date: 2023-11-26 07:20:08.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 {#4298 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
    +entries: Doctrine\ORM\PersistentCollection {#4304 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
    +posts: Doctrine\ORM\PersistentCollection {#4312 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
    +follows: Doctrine\ORM\PersistentCollection {#4324 …}
    +followers: Doctrine\ORM\PersistentCollection {#4326 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +violations: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    +awards: Doctrine\ORM\PersistentCollection {#4344 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
    +categories: Doctrine\ORM\PersistentCollection {#4348 …}
    -id: 71056
    -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
    +apId: "xcjs@programming.dev"
    +apProfileId: "https://programming.dev/u/xcjs"
    +apPublicUrl: "https://programming.dev/u/xcjs"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "xcjs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701608490 {#4288
      date: 2023-12-03 14:01:30.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699078854 {#4290
      date: 2023-11-04 07:20:54.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1698163407 {#3072
    date: 2023-10-24 18:03:27.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4370
  +date: DateTimeImmutable @1698163407 {#3072
    date: 2023-10-24 18:03:27.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698163407 {#3072
    date: 2023-10-24 18:03:27.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4424
  +createdAt: DateTimeImmutable @1698163407 {#3072
    date: 2023-10-24 18:03:27.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 30.74 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3151
    +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
    +cover: null
    +email: "xcjs@programming.dev"
    +username: "@xcjs@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700979608 {#4291
      date: 2023-11-26 07:20:08.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 {#4298 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
    +entries: Doctrine\ORM\PersistentCollection {#4304 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
    +posts: Doctrine\ORM\PersistentCollection {#4312 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
    +follows: Doctrine\ORM\PersistentCollection {#4324 …}
    +followers: Doctrine\ORM\PersistentCollection {#4326 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +violations: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    +awards: Doctrine\ORM\PersistentCollection {#4344 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
    +categories: Doctrine\ORM\PersistentCollection {#4348 …}
    -id: 71056
    -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
    +apId: "xcjs@programming.dev"
    +apProfileId: "https://programming.dev/u/xcjs"
    +apPublicUrl: "https://programming.dev/u/xcjs"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "xcjs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701608490 {#4288
      date: 2023-12-03 14:01:30.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699078854 {#4290
      date: 2023-11-04 07:20:54.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4478
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#3151
    +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
    +cover: null
    +email: "xcjs@programming.dev"
    +username: "@xcjs@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700979608 {#4291
      date: 2023-11-26 07:20:08.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 {#4298 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
    +entries: Doctrine\ORM\PersistentCollection {#4304 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
    +posts: Doctrine\ORM\PersistentCollection {#4312 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
    +follows: Doctrine\ORM\PersistentCollection {#4324 …}
    +followers: Doctrine\ORM\PersistentCollection {#4326 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +violations: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    +awards: Doctrine\ORM\PersistentCollection {#4344 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
    +categories: Doctrine\ORM\PersistentCollection {#4348 …}
    -id: 71056
    -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
    +apId: "xcjs@programming.dev"
    +apProfileId: "https://programming.dev/u/xcjs"
    +apPublicUrl: "https://programming.dev/u/xcjs"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "xcjs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701608490 {#4288
      date: 2023-12-03 14:01:30.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699078854 {#4290
      date: 2023-11-04 07:20:54.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.49 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4563
  +subject: App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 12.37 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4620
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 1.98 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4860
  +comment: App\Entity\EntryComment {#3068
    +user: Proxies\__CG__\App\Entity\User {#3151
      +avatar: Proxies\__CG__\App\Entity\Image {#4296 …}
      +cover: null
      +email: "xcjs@programming.dev"
      +username: "@xcjs@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700979608 {#4291
        date: 2023-11-26 07:20:08.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 {#4298 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4300 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4302 …}
      +entries: Doctrine\ORM\PersistentCollection {#4304 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4306 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4308 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4310 …}
      +posts: Doctrine\ORM\PersistentCollection {#4312 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4314 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4316 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4318 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4320 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4322 …}
      +follows: Doctrine\ORM\PersistentCollection {#4324 …}
      +followers: Doctrine\ORM\PersistentCollection {#4326 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4328 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4330 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4332 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +violations: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      +awards: Doctrine\ORM\PersistentCollection {#4344 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4346 …}
      +categories: Doctrine\ORM\PersistentCollection {#4348 …}
      -id: 71056
      -password: "$2y$13$5y8fAeWiCSEGGPhKDWLZu.zfb1Ol39AP6Ij7tGGjqcULeoq6oN.ai"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4350 …}
      +apId: "xcjs@programming.dev"
      +apProfileId: "https://programming.dev/u/xcjs"
      +apPublicUrl: "https://programming.dev/u/xcjs"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "xcjs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701608490 {#4288
        date: 2023-12-03 14:01:30.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699078854 {#4290
        date: 2023-11-04 07:20:54.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      I bought a used 2018 model over a new current model because of the lack of physical function keys.\n
      \n
      Also, Dell, bring back Fn + Left for Home and Fn + Right for End!\n
      \n
      Who looked at a great keyboard layout and decided, “I know! I’ll make this Developer Edition hardware more difficult to develop on!”
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698163407 {#3069
      date: 2023-10-24 18:03:27.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3150 …}
    +nested: Doctrine\ORM\PersistentCollection {#3148 …}
    +votes: Doctrine\ORM\PersistentCollection {#3146 …}
    +reports: Doctrine\ORM\PersistentCollection {#3144 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3142 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3140 …}
    -id: 109299
    -bodyTs: "'2018':5 'also':20 'back':23 'bought':2 'bring':22 'current':10 'decid':41 'dell':21 'develop':48,54 'difficult':52 'edit':49 'end':32 'fn':24,29 'function':18 'great':37 'hardwar':50 'home':27 'key':19 'keyboard':38 'know':43 'lack':15 'layout':39 'left':25 'll':45 'look':34 'make':46 'model':6,11 'new':9 'physic':17 'right':30 'use':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4189293"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698163407 {#3072
      date: 2023-10-24 18:03:27.0 +02:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 91.69 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4926
  +comment: App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 3.57 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4971
  +user: Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1698082951 {#3137
    date: 2023-10-23 19:42:31.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5084
  +date: DateTimeImmutable @1698082951 {#3137
    date: 2023-10-23 19:42:31.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698082951 {#3137
    date: 2023-10-23 19:42:31.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#5138
  +createdAt: DateTimeImmutable @1698082951 {#3137
    date: 2023-10-23 19:42:31.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.13 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5192
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#5261
  +subject: App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.65 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#5318
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 67.48 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#5558
  +comment: App\Entity\EntryComment {#3136
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#1780
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: """
        Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
        \n
        EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1700299037 {#1533
        date: 2023-11-18 10:17:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1468 …}
      +nested: Doctrine\ORM\PersistentCollection {#1471 …}
      +votes: Doctrine\ORM\PersistentCollection {#1758 …}
      +reports: Doctrine\ORM\PersistentCollection {#1494 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
      -id: 106182
      -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4731423"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698080611 {#1473
        date: 2023-10-23 19:03:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698082951 {#3138
      date: 2023-10-23 19:42:31.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3134 …}
    +nested: Doctrine\ORM\PersistentCollection {#3132 …}
    +votes: Doctrine\ORM\PersistentCollection {#3130 …}
    +reports: Doctrine\ORM\PersistentCollection {#3128 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
    -id: 113550
    -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4156121"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698082951 {#3137
      date: 2023-10-23 19:42:31.0 +02:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 57.64 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
  "showNested" => true
  "level" => 3
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#5613
  +comment: App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 3
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5658
  +user: App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1698139341 {#3092
    date: 2023-10-24 11:22:21.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5713
  +date: DateTimeImmutable @1698139341 {#3092
    date: 2023-10-24 11:22:21.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.16 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698139341 {#3092
    date: 2023-10-24 11:22:21.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#5767
  +createdAt: DateTimeImmutable @1698139341 {#3092
    date: 2023-10-24 11:22:21.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.16 ms
Input props
[
  "user" => App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5821
  +width: 40
  +height: 40
  +user: App\Entity\User {#1536
    +avatar: null
    +cover: null
    +email: "vivia@sh.itjust.works"
    +username: "@vivia@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700045324 {#1452
      date: 2023-11-15 11:48:44.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
    +entries: Doctrine\ORM\PersistentCollection {#1419 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
    +posts: Doctrine\ORM\PersistentCollection {#1451 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
    +follows: Doctrine\ORM\PersistentCollection {#1663 …}
    +followers: Doctrine\ORM\PersistentCollection {#1651 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
    +reports: Doctrine\ORM\PersistentCollection {#1585 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
    +violations: Doctrine\ORM\PersistentCollection {#1596 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
    +awards: Doctrine\ORM\PersistentCollection {#1557 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
    +categories: Doctrine\ORM\PersistentCollection {#1597 …}
    -id: 1568
    -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
    +apId: "vivia@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/vivia"
    +apPublicUrl: "https://sh.itjust.works/u/vivia"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "vivia"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1701928668 {#1529
      date: 2023-12-07 06:57:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686990818 {#1765
      date: 2023-06-17 10:33:38.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.47 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#5900
  +subject: App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.68 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#5957
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 24.75 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
  "level" => 3
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#6197
  +comment: App\Entity\EntryComment {#3096
    +user: App\Entity\User {#1536
      +avatar: null
      +cover: null
      +email: "vivia@sh.itjust.works"
      +username: "@vivia@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700045324 {#1452
        date: 2023-11-15 11:48:44.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
      +entries: Doctrine\ORM\PersistentCollection {#1419 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
      +posts: Doctrine\ORM\PersistentCollection {#1451 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
      +follows: Doctrine\ORM\PersistentCollection {#1663 …}
      +followers: Doctrine\ORM\PersistentCollection {#1651 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1585 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
      +violations: Doctrine\ORM\PersistentCollection {#1596 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
      +awards: Doctrine\ORM\PersistentCollection {#1557 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
      +categories: Doctrine\ORM\PersistentCollection {#1597 …}
      -id: 1568
      -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
      +apId: "vivia@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/vivia"
      +apPublicUrl: "https://sh.itjust.works/u/vivia"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "vivia"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1701928668 {#1529
        date: 2023-12-07 06:57:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1686990818 {#1765
        date: 2023-06-17 10:33:38.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3136
      +user: Proxies\__CG__\App\Entity\User {#3135
        +avatar: null
        +cover: null
        +email: "Pantherina@feddit.de"
        +username: "@Pantherina@feddit.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1721498243 {#5008
          date: 2024-07-20 19:57:23.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 {#5011 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
        +entries: Doctrine\ORM\PersistentCollection {#5017 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
        +posts: Doctrine\ORM\PersistentCollection {#5025 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
        +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
        +follows: Doctrine\ORM\PersistentCollection {#5037 …}
        +followers: Doctrine\ORM\PersistentCollection {#5039 …}
        +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
        +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
        +reports: Doctrine\ORM\PersistentCollection {#5049 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
        +violations: Doctrine\ORM\PersistentCollection {#5053 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
        +awards: Doctrine\ORM\PersistentCollection {#5057 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
        +categories: Doctrine\ORM\PersistentCollection {#5061 …}
        -id: 48318
        -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
        +apId: "Pantherina@feddit.de"
        +apProfileId: "https://feddit.de/u/Pantherina"
        +apPublicUrl: "https://feddit.de/u/Pantherina"
        +apFollowersUrl: null
        +apInboxUrl: "https://feddit.de/inbox"
        +apDomain: "feddit.de"
        +apPreferredUsername: "Pantherina"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1721236644 {#5009
          date: 2024-07-17 19:17:24.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696428300 {#5010
          date: 2023-10-04 16:05:00.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#1780
        +user: App\Entity\User {#1536}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: null
        +root: null
        +body: """
          Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
          \n
          EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1700299037 {#1533
          date: 2023-11-18 10:17:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1468 …}
        +nested: Doctrine\ORM\PersistentCollection {#1471 …}
        +votes: Doctrine\ORM\PersistentCollection {#1758 …}
        +reports: Doctrine\ORM\PersistentCollection {#1494 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
        -id: 106182
        -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/4731423"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698080611 {#1473
          date: 2023-10-23 19:03:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698082951 {#3138
        date: 2023-10-23 19:42:31.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3134 …}
      +nested: Doctrine\ORM\PersistentCollection {#3132 …}
      +votes: Doctrine\ORM\PersistentCollection {#3130 …}
      +reports: Doctrine\ORM\PersistentCollection {#3128 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
      -id: 113550
      -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://feddit.de/comment/4156121"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698082951 {#3137
        date: 2023-10-23 19:42:31.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: """
      You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
      \n
      [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698139341 {#3095
      date: 2023-10-24 11:22:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3099 …}
    +nested: Doctrine\ORM\PersistentCollection {#3103 …}
    +votes: Doctrine\ORM\PersistentCollection {#3105 …}
    +reports: Doctrine\ORM\PersistentCollection {#3090 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
    -id: 119615
    -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4751559"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698139341 {#3092
      date: 2023-10-24 11:22:21.0 +02:00
    }
  }
  +nestedComments: []
  +level: 3
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 23.92 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
  "showNested" => true
  "level" => 4
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#6252
  +comment: App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 4
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.15 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#6297
  +user: Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1698269261 {#3168
    date: 2023-10-25 23:27:41.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6352
  +date: DateTimeImmutable @1698269261 {#3168
    date: 2023-10-25 23:27:41.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698269261 {#3168
    date: 2023-10-25 23:27:41.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#6406
  +createdAt: DateTimeImmutable @1698269261 {#3168
    date: 2023-10-25 23:27:41.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.13 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#6460
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#3135
    +avatar: null
    +cover: null
    +email: "Pantherina@feddit.de"
    +username: "@Pantherina@feddit.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1721498243 {#5008
      date: 2024-07-20 19:57:23.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 {#5011 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
    +entries: Doctrine\ORM\PersistentCollection {#5017 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
    +posts: Doctrine\ORM\PersistentCollection {#5025 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
    +follows: Doctrine\ORM\PersistentCollection {#5037 …}
    +followers: Doctrine\ORM\PersistentCollection {#5039 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
    +reports: Doctrine\ORM\PersistentCollection {#5049 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
    +violations: Doctrine\ORM\PersistentCollection {#5053 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
    +awards: Doctrine\ORM\PersistentCollection {#5057 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
    +categories: Doctrine\ORM\PersistentCollection {#5061 …}
    -id: 48318
    -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
    +apId: "Pantherina@feddit.de"
    +apProfileId: "https://feddit.de/u/Pantherina"
    +apPublicUrl: "https://feddit.de/u/Pantherina"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.de/inbox"
    +apDomain: "feddit.de"
    +apPreferredUsername: "Pantherina"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721236644 {#5009
      date: 2024-07-17 19:17:24.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428300 {#5010
      date: 2023-10-04 16:05:00.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.65 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#6529
  +subject: App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.75 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#6586
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 17.62 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
  "level" => 4
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#6826
  +comment: App\Entity\EntryComment {#3159
    +user: Proxies\__CG__\App\Entity\User {#3135
      +avatar: null
      +cover: null
      +email: "Pantherina@feddit.de"
      +username: "@Pantherina@feddit.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1721498243 {#5008
        date: 2024-07-20 19:57:23.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 {#5011 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5013 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#5015 …}
      +entries: Doctrine\ORM\PersistentCollection {#5017 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#5019 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#5021 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5023 …}
      +posts: Doctrine\ORM\PersistentCollection {#5025 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#5027 …}
      +postComments: Doctrine\ORM\PersistentCollection {#5029 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#5031 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#5033 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#5035 …}
      +follows: Doctrine\ORM\PersistentCollection {#5037 …}
      +followers: Doctrine\ORM\PersistentCollection {#5039 …}
      +blocks: Doctrine\ORM\PersistentCollection {#5041 …}
      +blockers: Doctrine\ORM\PersistentCollection {#5043 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#5045 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#5047 …}
      +reports: Doctrine\ORM\PersistentCollection {#5049 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5051 …}
      +violations: Doctrine\ORM\PersistentCollection {#5053 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5055 …}
      +awards: Doctrine\ORM\PersistentCollection {#5057 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#5059 …}
      +categories: Doctrine\ORM\PersistentCollection {#5061 …}
      -id: 48318
      -password: "$2y$13$ltFqzTJ0eHIMY8NTIUV0JOoX1AZlaj64ntUxYh5oQTJrg6.lxQmuC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5063 …}
      +apId: "Pantherina@feddit.de"
      +apProfileId: "https://feddit.de/u/Pantherina"
      +apPublicUrl: "https://feddit.de/u/Pantherina"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.de/inbox"
      +apDomain: "feddit.de"
      +apPreferredUsername: "Pantherina"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1721236644 {#5009
        date: 2024-07-17 19:17:24.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696428300 {#5010
        date: 2023-10-04 16:05:00.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1748
      +user: Proxies\__CG__\App\Entity\User {#3297 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#3309 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#3339 …}
      +slug: "How-Ubuntu-Linux-snuck-into-high-end-Dell-laptops-and-why"
      +title: "How Ubuntu Linux snuck into high-end Dell laptops (and why it's called 'Project Sputnik')"
      +url: "https://www.zdnet.com/article/how-ubuntu-linux-snuck-into-high-end-dell-laptops-and-why-its-called-project-sputnik/"
      +body: """
        > Today, the Dell XPS-13 with Ubuntu Linux is easily the most well-known Linux laptop. Many users, especially developers – including Linus Torvalds – love it. As Torvalds recently said, “Normally, I wouldn’t name names, but I’m making an exception for the XPS 13 just because I liked it so much that I also ended up buying one for my daughter when she went off to college.”\n
        \n
        > So, how did Dell – best known for good-quality, mass-produced PCs – end up building top-of-the-line Ubuntu Linux laptops? Well, Barton George, Dell Technologies’ Developer Community manager, shared the “Project Sputnik” story this week in a presentation at the popular Linux and open-source community show, All Things Open.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 5
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698269261 {#3298
        date: 2023-10-25 23:27:41.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#3338 …}
      +votes: Doctrine\ORM\PersistentCollection {#3336 …}
      +reports: Doctrine\ORM\PersistentCollection {#3333 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3367 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3363 …}
      +badges: Doctrine\ORM\PersistentCollection {#3380 …}
      +children: []
      -id: 11387
      -titleTs: "'call':15 'dell':9 'end':8 'high':7 'high-end':6 'laptop':10 'linux':3 'project':16 'snuck':4 'sputnik':17 'ubuntu':2"
      -bodyTs: "'-13':5 '13':46 'also':56 'barton':96 'best':74 'build':86 'buy':59 'colleg':69 'communiti':101,121 'daughter':63 'dell':3,73,98 'develop':21,100 'easili':10 'end':57,84 'especi':20 'except':42 'georg':97 'good':78 'good-qual':77 'includ':22 'known':15,75 'laptop':17,94 'like':50 'line':91 'linus':23 'linux':8,16,93,116 'love':25 'm':39 'make':40 'manag':102 'mani':18 'mass':81 'mass-produc':80 'much':53 'name':35,36 'normal':31 'one':60 'open':119,125 'open-sourc':118 'pcs':83 'popular':115 'present':112 'produc':82 'project':105 'qualiti':79 'recent':29 'said':30 'share':103 'show':122 'sourc':120 'sputnik':106 'stori':107 'technolog':99 'thing':124 'today':1 'top':88 'top-of-the-lin':87 'torvald':24,28 'ubuntu':7,92 'user':19 'week':109 'well':14,95 'well-known':13 'went':66 'wouldn':33 'xps':4,45"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698030817
      +visibility: "visible             "
      +apId: "https://lemmy.ndlug.org/post/312980"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698008317 {#3304
        date: 2023-10-22 22:58:37.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#3096
      +user: App\Entity\User {#1536
        +avatar: null
        +cover: null
        +email: "vivia@sh.itjust.works"
        +username: "@vivia@sh.itjust.works"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700045324 {#1452
          date: 2023-11-15 11:48:44.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: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1455 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1444 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1448 …}
        +entries: Doctrine\ORM\PersistentCollection {#1419 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1420 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1413 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1418 …}
        +posts: Doctrine\ORM\PersistentCollection {#1451 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1642 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1709 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1671 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1438 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1656 …}
        +follows: Doctrine\ORM\PersistentCollection {#1663 …}
        +followers: Doctrine\ORM\PersistentCollection {#1651 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1573 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1574 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1550 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1585 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1556 …}
        +violations: Doctrine\ORM\PersistentCollection {#1596 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1702 …}
        +awards: Doctrine\ORM\PersistentCollection {#1557 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1795 …}
        +categories: Doctrine\ORM\PersistentCollection {#1597 …}
        -id: 1568
        -password: "$2y$13$19UDMpQItge4YO8.q12HwuMp5Y2p7xMh4WwO50DQ4PqW8Qq.mQKt."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1737 …}
        +apId: "vivia@sh.itjust.works"
        +apProfileId: "https://sh.itjust.works/u/vivia"
        +apPublicUrl: "https://sh.itjust.works/u/vivia"
        +apFollowersUrl: null
        +apInboxUrl: "https://sh.itjust.works/inbox"
        +apDomain: "sh.itjust.works"
        +apPreferredUsername: "vivia"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1701928668 {#1529
          date: 2023-12-07 06:57:48.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1686990818 {#1765
          date: 2023-06-17 10:33:38.0 +02:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#3136
        +user: Proxies\__CG__\App\Entity\User {#3135 …2}
        +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
        +magazine: App\Entity\Magazine {#307}
        +image: null
        +parent: App\Entity\EntryComment {#1780
          +user: App\Entity\User {#1536}
          +entry: Proxies\__CG__\App\Entity\Entry {#1748 …2}
          +magazine: App\Entity\Magazine {#307}
          +image: null
          +parent: null
          +root: null
          +body: """
            Earlier this year I was given one of those XPS machines with Ubuntu and decided to install Debian on it. The camera driver was so bad - I can’t remember technical details but you can’t simply get it to run on another kernel, it was a mess of hacks to get it to work. I decided I won’t get a camera driver. “We ship a laptop with Ubuntu” does not necessarily mean working Linux drivers.\n
            \n
            EDIT: To add insult to injury, the touch bar suddenly decided to stop responding to input. It’s already bad enough to not have tactile feedback for Esc / Fn keys / Delete / Print Screen.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1700299037 {#1533
            date: 2023-11-18 10:17:17.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@pnutzh4x0r@lemmy.ndlug.org"
          ]
          +children: Doctrine\ORM\PersistentCollection {#1468 …}
          +nested: Doctrine\ORM\PersistentCollection {#1471 …}
          +votes: Doctrine\ORM\PersistentCollection {#1758 …}
          +reports: Doctrine\ORM\PersistentCollection {#1494 …}
          +favourites: Doctrine\ORM\PersistentCollection {#1712 …}
          +notifications: Doctrine\ORM\PersistentCollection {#1461 …}
          -id: 106182
          -bodyTs: "'add':80 'alreadi':96 'anoth':43 'bad':26,97 'bar':86 'camera':22,63 'debian':18 'decid':15,57,88 'delet':108 'detail':32 'driver':23,64,77 'earlier':1 'edit':78 'enough':98 'esc':105 'feedback':103 'fn':106 'get':38,52,61 'given':6 'hack':50 'injuri':83 'input':93 'instal':17 'insult':81 'kernel':44 'key':107 'laptop':68 'linux':76 'machin':11 'mean':74 'mess':48 'necessarili':73 'one':7 'print':109 'rememb':30 'respond':91 'run':41 'screen':110 'ship':66 'simpli':37 'stop':90 'sudden':87 'tactil':102 'technic':31 'touch':85 'ubuntu':13,70 'won':59 'work':55,75 'xps':10 'year':3"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/4731423"
          +editedAt: null
          +createdAt: DateTimeImmutable @1698080611 {#1473
            date: 2023-10-23 19:03:31.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#1780}
        +body: "Crazy! So it was only the ubuntu kernel, with some akmods or PPA?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1698082951 {#3138
          date: 2023-10-23 19:42:31.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@pnutzh4x0r@lemmy.ndlug.org"
          "@vivia@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#3134 …}
        +nested: Doctrine\ORM\PersistentCollection {#3132 …}
        +votes: Doctrine\ORM\PersistentCollection {#3130 …}
        +reports: Doctrine\ORM\PersistentCollection {#3128 …}
        +favourites: Doctrine\ORM\PersistentCollection {#3126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#3124 …}
        -id: 113550
        -bodyTs: "'akmod':11 'crazi':1 'kernel':8 'ppa':13 'ubuntu':7"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://feddit.de/comment/4156121"
        +editedAt: null
        +createdAt: DateTimeImmutable @1698082951 {#3137
          date: 2023-10-23 19:42:31.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#1780}
      +body: """
        You needed: kernel driver, closed source userspace driver, GStreamer plugin, v4l2 loopback driver, v4l2 relay daemon copying frames from the GStreamer source into v4l2 loopback. Technically I could have made it work, I just decided not to.\n
        \n
        [launchpad.net/~oem-solutions-group/…/intel-ipu6](https://launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698139341 {#3095
        date: 2023-10-24 11:22:21.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@pnutzh4x0r@lemmy.ndlug.org"
        "@vivia@sh.itjust.works"
        "@Pantherina@feddit.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3099 …}
      +nested: Doctrine\ORM\PersistentCollection {#3103 …}
      +votes: Doctrine\ORM\PersistentCollection {#3105 …}
      +reports: Doctrine\ORM\PersistentCollection {#3090 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3088 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3086 …}
      -id: 119615
      -bodyTs: "'/intel-ipu6':41 '/~oem-solutions-group/':40 '/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':44 'close':5 'copi':17 'could':28 'daemon':16 'decid':35 'driver':4,8,13 'frame':18 'gstreamer':9,21 'kernel':3 'launchpad.net':39,43 'launchpad.net/~oem-solutions-group/':38 'launchpad.net/~oem-solutions-group/+archive/ubuntu/intel-ipu6)[github.com/intel/ipu6-camera-bins](https://github.com/intel/ipu6-camera-bins)':42 'loopback':12,25 'made':30 'need':2 'plugin':10 'relay':15 'sourc':6,22 'technic':26 'userspac':7 'v4l2':11,14,24 'work':32"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/4751559"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698139341 {#3092
        date: 2023-10-24 11:22:21.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#1780}
    +body: "Damn Dell. What the fuck XD"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698269261 {#3156
      date: 2023-10-25 23:27:41.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@pnutzh4x0r@lemmy.ndlug.org"
      "@vivia@sh.itjust.works"
      "@Pantherina@feddit.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3153 …}
    +nested: Doctrine\ORM\PersistentCollection {#3165 …}
    +votes: Doctrine\ORM\PersistentCollection {#3164 …}
    +reports: Doctrine\ORM\PersistentCollection {#3160 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3162 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3170 …}
    -id: 126659
    -bodyTs: "'damn':1 'dell':2 'fuck':5 'xd':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/4226539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698269261 {#3168
      date: 2023-10-25 23:27:41.0 +02:00
    }
  }
  +nestedComments: []
  +level: 4
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 97.95 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#6924
  +comment: App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#2460
    +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
    +cover: null
    +email: "Dotdev@programming.dev"
    +username: "@Dotdev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729339362 {#1718
      date: 2024-10-19 14:02:42.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 {#2452 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
    +entries: Doctrine\ORM\PersistentCollection {#2470 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
    +posts: Doctrine\ORM\PersistentCollection {#2360 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
    +follows: Doctrine\ORM\PersistentCollection {#2381 …}
    +followers: Doctrine\ORM\PersistentCollection {#1910 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
    +reports: Doctrine\ORM\PersistentCollection {#1883 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
    +violations: Doctrine\ORM\PersistentCollection {#2387 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
    +awards: Doctrine\ORM\PersistentCollection {#2393 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
    +categories: Doctrine\ORM\PersistentCollection {#1402 …}
    -id: 70797
    -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
    +apId: "Dotdev@programming.dev"
    +apProfileId: "https://programming.dev/u/Dotdev"
    +apPublicUrl: "https://programming.dev/u/Dotdev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "Dotdev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729036034 {#1740
      date: 2024-10-16 01:47:14.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699037832 {#1715
      date: 2023-11-03 19:57:12.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#6988
  +user: App\Entity\User {#2460
    +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
    +cover: null
    +email: "Dotdev@programming.dev"
    +username: "@Dotdev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729339362 {#1718
      date: 2024-10-19 14:02:42.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 {#2452 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
    +entries: Doctrine\ORM\PersistentCollection {#2470 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
    +posts: Doctrine\ORM\PersistentCollection {#2360 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
    +follows: Doctrine\ORM\PersistentCollection {#2381 …}
    +followers: Doctrine\ORM\PersistentCollection {#1910 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
    +reports: Doctrine\ORM\PersistentCollection {#1883 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
    +violations: Doctrine\ORM\PersistentCollection {#2387 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
    +awards: Doctrine\ORM\PersistentCollection {#2393 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
    +categories: Doctrine\ORM\PersistentCollection {#1402 …}
    -id: 70797
    -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
    +apId: "Dotdev@programming.dev"
    +apProfileId: "https://programming.dev/u/Dotdev"
    +apPublicUrl: "https://programming.dev/u/Dotdev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "Dotdev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729036034 {#1740
      date: 2024-10-16 01:47:14.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699037832 {#1715
      date: 2023-11-03 19:57:12.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1698068023 {#1720
    date: 2023-10-23 15:33:43.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7043
  +date: DateTimeImmutable @1698068023 {#1720
    date: 2023-10-23 15:33:43.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.11 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698068023 {#1720
    date: 2023-10-23 15:33:43.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#7097
  +createdAt: DateTimeImmutable @1698068023 {#1720
    date: 2023-10-23 15:33:43.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.13 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#1714
    +user: Proxies\__CG__\App\Entity\User {#6961 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "MIcrosoft-teams"
    +title: "MIcrosoft teams"
    +url: null
    +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698160348 {#6962
      date: 2023-10-24 17:12:28.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#6969 …}
    +votes: Doctrine\ORM\PersistentCollection {#6971 …}
    +reports: Doctrine\ORM\PersistentCollection {#6973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
    +badges: Doctrine\ORM\PersistentCollection {#6979 …}
    +children: []
    -id: 9449
    -titleTs: "'microsoft':1 'team':2"
    -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1698070146
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4793787"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698050646 {#6959
      date: 2023-10-23 10:44:06.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#7151
  +entry: Proxies\__CG__\App\Entity\Entry {#1714
    +user: Proxies\__CG__\App\Entity\User {#6961 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "MIcrosoft-teams"
    +title: "MIcrosoft teams"
    +url: null
    +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698160348 {#6962
      date: 2023-10-24 17:12:28.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#6969 …}
    +votes: Doctrine\ORM\PersistentCollection {#6971 …}
    +reports: Doctrine\ORM\PersistentCollection {#6973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
    +badges: Doctrine\ORM\PersistentCollection {#6979 …}
    +children: []
    -id: 9449
    -titleTs: "'microsoft':1 'team':2"
    -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1698070146
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4793787"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698050646 {#6959
      date: 2023-10-23 10:44:06.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.43 ms
Input props
[
  "user" => App\Entity\User {#2460
    +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
    +cover: null
    +email: "Dotdev@programming.dev"
    +username: "@Dotdev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729339362 {#1718
      date: 2024-10-19 14:02:42.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 {#2452 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
    +entries: Doctrine\ORM\PersistentCollection {#2470 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
    +posts: Doctrine\ORM\PersistentCollection {#2360 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
    +follows: Doctrine\ORM\PersistentCollection {#2381 …}
    +followers: Doctrine\ORM\PersistentCollection {#1910 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
    +reports: Doctrine\ORM\PersistentCollection {#1883 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
    +violations: Doctrine\ORM\PersistentCollection {#2387 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
    +awards: Doctrine\ORM\PersistentCollection {#2393 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
    +categories: Doctrine\ORM\PersistentCollection {#1402 …}
    -id: 70797
    -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
    +apId: "Dotdev@programming.dev"
    +apProfileId: "https://programming.dev/u/Dotdev"
    +apPublicUrl: "https://programming.dev/u/Dotdev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "Dotdev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729036034 {#1740
      date: 2024-10-16 01:47:14.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699037832 {#1715
      date: 2023-11-03 19:57:12.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7206
  +width: 40
  +height: 40
  +user: App\Entity\User {#2460
    +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
    +cover: null
    +email: "Dotdev@programming.dev"
    +username: "@Dotdev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729339362 {#1718
      date: 2024-10-19 14:02:42.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 {#2452 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
    +entries: Doctrine\ORM\PersistentCollection {#2470 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
    +posts: Doctrine\ORM\PersistentCollection {#2360 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
    +follows: Doctrine\ORM\PersistentCollection {#2381 …}
    +followers: Doctrine\ORM\PersistentCollection {#1910 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
    +reports: Doctrine\ORM\PersistentCollection {#1883 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
    +violations: Doctrine\ORM\PersistentCollection {#2387 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
    +awards: Doctrine\ORM\PersistentCollection {#2393 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
    +categories: Doctrine\ORM\PersistentCollection {#1402 …}
    -id: 70797
    -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
    +apId: "Dotdev@programming.dev"
    +apProfileId: "https://programming.dev/u/Dotdev"
    +apPublicUrl: "https://programming.dev/u/Dotdev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "Dotdev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729036034 {#1740
      date: 2024-10-16 01:47:14.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699037832 {#1715
      date: 2023-11-03 19:57:12.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.44 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#7277
  +subject: App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.77 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#7334
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 20.69 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#2354
  +comment: App\Entity\EntryComment {#1741
    +user: App\Entity\User {#2460
      +avatar: Proxies\__CG__\App\Entity\Image {#2453 …}
      +cover: null
      +email: "Dotdev@programming.dev"
      +username: "@Dotdev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729339362 {#1718
        date: 2024-10-19 14:02:42.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 {#2452 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2454 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2459 …}
      +entries: Doctrine\ORM\PersistentCollection {#2470 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2467 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2371 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2370 …}
      +posts: Doctrine\ORM\PersistentCollection {#2360 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2361 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2372 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2386 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2385 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2378 …}
      +follows: Doctrine\ORM\PersistentCollection {#2381 …}
      +followers: Doctrine\ORM\PersistentCollection {#1910 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1909 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1926 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1874 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1908 …}
      +reports: Doctrine\ORM\PersistentCollection {#1883 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2389 …}
      +violations: Doctrine\ORM\PersistentCollection {#2387 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2394 …}
      +awards: Doctrine\ORM\PersistentCollection {#2393 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1381 …}
      +categories: Doctrine\ORM\PersistentCollection {#1402 …}
      -id: 70797
      -password: "$2y$13$lUv99kC17SSdp3afLDs95OSYTgQRQwSOTLTO7i7FGNQWEwhTfKSPy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1385 …}
      +apId: "Dotdev@programming.dev"
      +apProfileId: "https://programming.dev/u/Dotdev"
      +apPublicUrl: "https://programming.dev/u/Dotdev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "Dotdev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729036034 {#1740
        date: 2024-10-16 01:47:14.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699037832 {#1715
        date: 2023-11-03 19:57:12.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Well you can use the web version."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698068023 {#1727
      date: 2023-10-23 15:33:43.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#1707 …}
    +nested: Doctrine\ORM\PersistentCollection {#2464 …}
    +votes: Doctrine\ORM\PersistentCollection {#2448 …}
    +reports: Doctrine\ORM\PersistentCollection {#2447 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2462 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2461 …}
    -id: 88153
    -bodyTs: "'use':4 'version':7 'web':6 'well':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4158670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698068023 {#1720
      date: 2023-10-23 15:33:43.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 14.75 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#7022
  +comment: App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#2028
    +avatar: null
    +cover: null
    +email: "CameronDev@programming.dev"
    +username: "@CameronDev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726891699 {#1363
      date: 2024-09-21 06:08:19.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 {#2029 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
    +entries: Doctrine\ORM\PersistentCollection {#2031 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
    +posts: Doctrine\ORM\PersistentCollection {#2078 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
    +follows: Doctrine\ORM\PersistentCollection {#2080 …}
    +followers: Doctrine\ORM\PersistentCollection {#2089 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
    +reports: Doctrine\ORM\PersistentCollection {#2241 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
    +violations: Doctrine\ORM\PersistentCollection {#2129 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
    +awards: Doctrine\ORM\PersistentCollection {#2040 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
    +categories: Doctrine\ORM\PersistentCollection {#2348 …}
    -id: 53679
    -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
    +apId: "CameronDev@programming.dev"
    +apProfileId: "https://programming.dev/u/CameronDev"
    +apPublicUrl: "https://programming.dev/u/CameronDev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "CameronDev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1723927539 {#1361
      date: 2024-08-17 22:45:39.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696768981 {#1362
      date: 2023-10-08 14:43:01.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#7532
  +user: App\Entity\User {#2028
    +avatar: null
    +cover: null
    +email: "CameronDev@programming.dev"
    +username: "@CameronDev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726891699 {#1363
      date: 2024-09-21 06:08:19.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 {#2029 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
    +entries: Doctrine\ORM\PersistentCollection {#2031 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
    +posts: Doctrine\ORM\PersistentCollection {#2078 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
    +follows: Doctrine\ORM\PersistentCollection {#2080 …}
    +followers: Doctrine\ORM\PersistentCollection {#2089 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
    +reports: Doctrine\ORM\PersistentCollection {#2241 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
    +violations: Doctrine\ORM\PersistentCollection {#2129 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
    +awards: Doctrine\ORM\PersistentCollection {#2040 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
    +categories: Doctrine\ORM\PersistentCollection {#2348 …}
    -id: 53679
    -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
    +apId: "CameronDev@programming.dev"
    +apProfileId: "https://programming.dev/u/CameronDev"
    +apPublicUrl: "https://programming.dev/u/CameronDev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "CameronDev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1723927539 {#1361
      date: 2024-08-17 22:45:39.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696768981 {#1362
      date: 2023-10-08 14:43:01.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1698057844 {#1404
    date: 2023-10-23 12:44:04.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7587
  +date: DateTimeImmutable @1698057844 {#1404
    date: 2023-10-23 12:44:04.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.08 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698057844 {#1404
    date: 2023-10-23 12:44:04.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#7641
  +createdAt: DateTimeImmutable @1698057844 {#1404
    date: 2023-10-23 12:44:04.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.23 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#1714
    +user: Proxies\__CG__\App\Entity\User {#6961 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "MIcrosoft-teams"
    +title: "MIcrosoft teams"
    +url: null
    +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698160348 {#6962
      date: 2023-10-24 17:12:28.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#6969 …}
    +votes: Doctrine\ORM\PersistentCollection {#6971 …}
    +reports: Doctrine\ORM\PersistentCollection {#6973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
    +badges: Doctrine\ORM\PersistentCollection {#6979 …}
    +children: []
    -id: 9449
    -titleTs: "'microsoft':1 'team':2"
    -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1698070146
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4793787"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698050646 {#6959
      date: 2023-10-23 10:44:06.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#7695
  +entry: Proxies\__CG__\App\Entity\Entry {#1714
    +user: Proxies\__CG__\App\Entity\User {#6961 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "MIcrosoft-teams"
    +title: "MIcrosoft teams"
    +url: null
    +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698160348 {#6962
      date: 2023-10-24 17:12:28.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#6969 …}
    +votes: Doctrine\ORM\PersistentCollection {#6971 …}
    +reports: Doctrine\ORM\PersistentCollection {#6973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
    +badges: Doctrine\ORM\PersistentCollection {#6979 …}
    +children: []
    -id: 9449
    -titleTs: "'microsoft':1 'team':2"
    -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1698070146
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4793787"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698050646 {#6959
      date: 2023-10-23 10:44:06.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#2028
    +avatar: null
    +cover: null
    +email: "CameronDev@programming.dev"
    +username: "@CameronDev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726891699 {#1363
      date: 2024-09-21 06:08:19.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 {#2029 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
    +entries: Doctrine\ORM\PersistentCollection {#2031 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
    +posts: Doctrine\ORM\PersistentCollection {#2078 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
    +follows: Doctrine\ORM\PersistentCollection {#2080 …}
    +followers: Doctrine\ORM\PersistentCollection {#2089 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
    +reports: Doctrine\ORM\PersistentCollection {#2241 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
    +violations: Doctrine\ORM\PersistentCollection {#2129 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
    +awards: Doctrine\ORM\PersistentCollection {#2040 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
    +categories: Doctrine\ORM\PersistentCollection {#2348 …}
    -id: 53679
    -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
    +apId: "CameronDev@programming.dev"
    +apProfileId: "https://programming.dev/u/CameronDev"
    +apPublicUrl: "https://programming.dev/u/CameronDev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "CameronDev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1723927539 {#1361
      date: 2024-08-17 22:45:39.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696768981 {#1362
      date: 2023-10-08 14:43:01.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7750
  +width: 40
  +height: 40
  +user: App\Entity\User {#2028
    +avatar: null
    +cover: null
    +email: "CameronDev@programming.dev"
    +username: "@CameronDev@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726891699 {#1363
      date: 2024-09-21 06:08:19.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 {#2029 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
    +entries: Doctrine\ORM\PersistentCollection {#2031 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
    +posts: Doctrine\ORM\PersistentCollection {#2078 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
    +follows: Doctrine\ORM\PersistentCollection {#2080 …}
    +followers: Doctrine\ORM\PersistentCollection {#2089 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
    +reports: Doctrine\ORM\PersistentCollection {#2241 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
    +violations: Doctrine\ORM\PersistentCollection {#2129 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
    +awards: Doctrine\ORM\PersistentCollection {#2040 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
    +categories: Doctrine\ORM\PersistentCollection {#2348 …}
    -id: 53679
    -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
    +apId: "CameronDev@programming.dev"
    +apProfileId: "https://programming.dev/u/CameronDev"
    +apPublicUrl: "https://programming.dev/u/CameronDev"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "CameronDev"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1723927539 {#1361
      date: 2024-08-17 22:45:39.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696768981 {#1362
      date: 2023-10-08 14:43:01.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.43 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#7819
  +subject: App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.74 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#7876
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 6.81 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#8116
  +comment: App\Entity\EntryComment {#1403
    +user: App\Entity\User {#2028
      +avatar: null
      +cover: null
      +email: "CameronDev@programming.dev"
      +username: "@CameronDev@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726891699 {#1363
        date: 2024-09-21 06:08:19.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 {#2029 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2020 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2027 …}
      +entries: Doctrine\ORM\PersistentCollection {#2031 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2037 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2075 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2079 …}
      +posts: Doctrine\ORM\PersistentCollection {#2078 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2097 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2082 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2096 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2081 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2098 …}
      +follows: Doctrine\ORM\PersistentCollection {#2080 …}
      +followers: Doctrine\ORM\PersistentCollection {#2089 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2095 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2091 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2090 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2092 …}
      +reports: Doctrine\ORM\PersistentCollection {#2241 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2130 …}
      +violations: Doctrine\ORM\PersistentCollection {#2129 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2132 …}
      +awards: Doctrine\ORM\PersistentCollection {#2040 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2350 …}
      +categories: Doctrine\ORM\PersistentCollection {#2348 …}
      -id: 53679
      -password: "$2y$13$T5g5lo8EzfNhDYK4DISxquFQmJ2MdpugVLT8hahqmMnMs6W4OUj1."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2351 …}
      +apId: "CameronDev@programming.dev"
      +apProfileId: "https://programming.dev/u/CameronDev"
      +apPublicUrl: "https://programming.dev/u/CameronDev"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "CameronDev"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1723927539 {#1361
        date: 2024-08-17 22:45:39.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696768981 {#1362
        date: 2023-10-08 14:43:01.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#1714
      +user: Proxies\__CG__\App\Entity\User {#6961 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "MIcrosoft-teams"
      +title: "MIcrosoft teams"
      +url: null
      +body: "Hi . i am forced to use microsft teams but i see that desktop app was discontinued . what are the alternatives ?"
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 3
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698160348 {#6962
        date: 2023-10-24 17:12:28.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#6969 …}
      +votes: Doctrine\ORM\PersistentCollection {#6971 …}
      +reports: Doctrine\ORM\PersistentCollection {#6973 …}
      +favourites: Doctrine\ORM\PersistentCollection {#6975 …}
      +notifications: Doctrine\ORM\PersistentCollection {#6977 …}
      +badges: Doctrine\ORM\PersistentCollection {#6979 …}
      +children: []
      -id: 9449
      -titleTs: "'microsoft':1 'team':2"
      -bodyTs: "'altern':20 'app':14 'desktop':13 'discontinu':16 'forc':4 'hi':1 'microsft':7 'see':11 'team':8 'use':6"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1698070146
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4793787"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698050646 {#6959
        date: 2023-10-23 10:44:06.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "The web interface still works? Might need chrome for it to work, it was broken in firefox last time i tried it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698057844 {#1401
      date: 2023-10-23 12:44:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@szczuroarturo@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2019 …}
    +nested: Doctrine\ORM\PersistentCollection {#2030 …}
    +votes: Doctrine\ORM\PersistentCollection {#2026 …}
    +reports: Doctrine\ORM\PersistentCollection {#2022 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2033 …}
    -id: 88152
    -bodyTs: "'broken':15 'chrome':8 'firefox':17 'interfac':3 'last':18 'might':6 'need':7 'still':4 'time':19 'tri':21 'web':2 'work':5,12"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4155764"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698057844 {#1404
      date: 2023-10-23 12:44:04.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 39.39 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#8186
  +comment: App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.17 ms
Input props
[
  "user" => App\Entity\User {#2300
    +avatar: null
    +cover: null
    +email: "ProgrammingSocks@pawb.social"
    +username: "@ProgrammingSocks@pawb.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
      \n
      Previously /u/PirandelloKruger723 on Reddit.
      """
    +lastActive: DateTime @1728855973 {#2349
      date: 2024-10-13 23:46:13.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 {#2334 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
    +entries: Doctrine\ORM\PersistentCollection {#2336 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
    +posts: Doctrine\ORM\PersistentCollection {#2137 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
    +follows: Doctrine\ORM\PersistentCollection {#2048 …}
    +followers: Doctrine\ORM\PersistentCollection {#2056 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
    +reports: Doctrine\ORM\PersistentCollection {#2058 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
    +violations: Doctrine\ORM\PersistentCollection {#2041 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
    +awards: Doctrine\ORM\PersistentCollection {#2105 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
    +categories: Doctrine\ORM\PersistentCollection {#2102 …}
    -id: 71489
    -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
    +apId: "ProgrammingSocks@pawb.social"
    +apProfileId: "https://pawb.social/u/ProgrammingSocks"
    +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
    +apFollowersUrl: null
    +apInboxUrl: "https://pawb.social/inbox"
    +apDomain: "pawb.social"
    +apPreferredUsername: "ProgrammingSocks"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728722146 {#2042
      date: 2024-10-12 10:35:46.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699132373 {#2141
      date: 2023-11-04 22:12:53.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#8250
  +user: App\Entity\User {#2300
    +avatar: null
    +cover: null
    +email: "ProgrammingSocks@pawb.social"
    +username: "@ProgrammingSocks@pawb.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
      \n
      Previously /u/PirandelloKruger723 on Reddit.
      """
    +lastActive: DateTime @1728855973 {#2349
      date: 2024-10-13 23:46:13.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 {#2334 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
    +entries: Doctrine\ORM\PersistentCollection {#2336 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
    +posts: Doctrine\ORM\PersistentCollection {#2137 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
    +follows: Doctrine\ORM\PersistentCollection {#2048 …}
    +followers: Doctrine\ORM\PersistentCollection {#2056 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
    +reports: Doctrine\ORM\PersistentCollection {#2058 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
    +violations: Doctrine\ORM\PersistentCollection {#2041 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
    +awards: Doctrine\ORM\PersistentCollection {#2105 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
    +categories: Doctrine\ORM\PersistentCollection {#2102 …}
    -id: 71489
    -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
    +apId: "ProgrammingSocks@pawb.social"
    +apProfileId: "https://pawb.social/u/ProgrammingSocks"
    +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
    +apFollowersUrl: null
    +apInboxUrl: "https://pawb.social/inbox"
    +apDomain: "pawb.social"
    +apPreferredUsername: "ProgrammingSocks"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728722146 {#2042
      date: 2024-10-12 10:35:46.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699132373 {#2141
      date: 2023-11-04 22:12:53.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1698019494 {#2344
    date: 2023-10-23 02:04:54.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#8305
  +date: DateTimeImmutable @1698019494 {#2344
    date: 2023-10-23 02:04:54.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698019494 {#2344
    date: 2023-10-23 02:04:54.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#8359
  +createdAt: DateTimeImmutable @1698019494 {#2344
    date: 2023-10-23 02:04:54.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.12 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#8413
  +entry: Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.12 ms
Input props
[
  "user" => App\Entity\User {#2300
    +avatar: null
    +cover: null
    +email: "ProgrammingSocks@pawb.social"
    +username: "@ProgrammingSocks@pawb.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
      \n
      Previously /u/PirandelloKruger723 on Reddit.
      """
    +lastActive: DateTime @1728855973 {#2349
      date: 2024-10-13 23:46:13.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 {#2334 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
    +entries: Doctrine\ORM\PersistentCollection {#2336 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
    +posts: Doctrine\ORM\PersistentCollection {#2137 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
    +follows: Doctrine\ORM\PersistentCollection {#2048 …}
    +followers: Doctrine\ORM\PersistentCollection {#2056 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
    +reports: Doctrine\ORM\PersistentCollection {#2058 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
    +violations: Doctrine\ORM\PersistentCollection {#2041 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
    +awards: Doctrine\ORM\PersistentCollection {#2105 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
    +categories: Doctrine\ORM\PersistentCollection {#2102 …}
    -id: 71489
    -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
    +apId: "ProgrammingSocks@pawb.social"
    +apProfileId: "https://pawb.social/u/ProgrammingSocks"
    +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
    +apFollowersUrl: null
    +apInboxUrl: "https://pawb.social/inbox"
    +apDomain: "pawb.social"
    +apPreferredUsername: "ProgrammingSocks"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728722146 {#2042
      date: 2024-10-12 10:35:46.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699132373 {#2141
      date: 2023-11-04 22:12:53.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#8468
  +width: 40
  +height: 40
  +user: App\Entity\User {#2300
    +avatar: null
    +cover: null
    +email: "ProgrammingSocks@pawb.social"
    +username: "@ProgrammingSocks@pawb.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
      \n
      Previously /u/PirandelloKruger723 on Reddit.
      """
    +lastActive: DateTime @1728855973 {#2349
      date: 2024-10-13 23:46:13.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 {#2334 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
    +entries: Doctrine\ORM\PersistentCollection {#2336 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
    +posts: Doctrine\ORM\PersistentCollection {#2137 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
    +follows: Doctrine\ORM\PersistentCollection {#2048 …}
    +followers: Doctrine\ORM\PersistentCollection {#2056 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
    +reports: Doctrine\ORM\PersistentCollection {#2058 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
    +violations: Doctrine\ORM\PersistentCollection {#2041 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
    +awards: Doctrine\ORM\PersistentCollection {#2105 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
    +categories: Doctrine\ORM\PersistentCollection {#2102 …}
    -id: 71489
    -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
    +apId: "ProgrammingSocks@pawb.social"
    +apProfileId: "https://pawb.social/u/ProgrammingSocks"
    +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
    +apFollowersUrl: null
    +apInboxUrl: "https://pawb.social/inbox"
    +apDomain: "pawb.social"
    +apPreferredUsername: "ProgrammingSocks"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728722146 {#2042
      date: 2024-10-12 10:35:46.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699132373 {#2141
      date: 2023-11-04 22:12:53.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.41 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#8537
  +subject: App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.61 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#8594
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 0.78 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#8834
  +comment: App\Entity\EntryComment {#2060
    +user: App\Entity\User {#2300
      +avatar: null
      +cover: null
      +email: "ProgrammingSocks@pawb.social"
      +username: "@ProgrammingSocks@pawb.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Hello! My name is Cobalt Swiftpaw. I’m here for memes and art.\n
        \n
        Previously /u/PirandelloKruger723 on Reddit.
        """
      +lastActive: DateTime @1728855973 {#2349
        date: 2024-10-13 23:46:13.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 {#2334 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2341 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2337 …}
      +entries: Doctrine\ORM\PersistentCollection {#2336 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2339 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2159 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2135 …}
      +posts: Doctrine\ORM\PersistentCollection {#2137 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2068 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2069 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2074 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2071 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2070 …}
      +follows: Doctrine\ORM\PersistentCollection {#2048 …}
      +followers: Doctrine\ORM\PersistentCollection {#2056 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2046 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2045 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2050 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2052 …}
      +reports: Doctrine\ORM\PersistentCollection {#2058 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2125 …}
      +violations: Doctrine\ORM\PersistentCollection {#2041 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2100 …}
      +awards: Doctrine\ORM\PersistentCollection {#2105 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2111 …}
      +categories: Doctrine\ORM\PersistentCollection {#2102 …}
      -id: 71489
      -password: "$2y$13$yVjfdaiDByRnq.yOXb0p6OwsOOgvSZNQQujZbxkdLc7WgeZkuffgO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2103 …}
      +apId: "ProgrammingSocks@pawb.social"
      +apProfileId: "https://pawb.social/u/ProgrammingSocks"
      +apPublicUrl: "https://pawb.social/u/ProgrammingSocks"
      +apFollowersUrl: null
      +apInboxUrl: "https://pawb.social/inbox"
      +apDomain: "pawb.social"
      +apPreferredUsername: "ProgrammingSocks"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728722146 {#2042
        date: 2024-10-12 10:35:46.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699132373 {#2141
        date: 2023-11-04 22:12:53.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Wow am I glad for my NoScript usage right now. I’m definitely going to be even more restrictive after this."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1698019494 {#2332
      date: 2023-10-23 02:04:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2331 …}
    +nested: Doctrine\ORM\PersistentCollection {#2289 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2325 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2329 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2323 …}
    -id: 232269
    -bodyTs: "'definit':13 'even':17 'glad':4 'go':14 'm':12 'noscript':7 'restrict':19 'right':9 'usag':8 'wow':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://pawb.social/comment/3471175"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698019494 {#2344
      date: 2023-10-23 02:04:54.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 86.23 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#8904
  +comment: App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#2162
    +avatar: null
    +cover: null
    +email: "smileyhead@discuss.tchncs.de"
    +username: "@smileyhead@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1712580253 {#2112
      date: 2024-04-08 14:44:13.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 {#2044 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
    +entries: Doctrine\ORM\PersistentCollection {#2215 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
    +posts: Doctrine\ORM\PersistentCollection {#2225 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
    +follows: Doctrine\ORM\PersistentCollection {#2293 …}
    +followers: Doctrine\ORM\PersistentCollection {#2309 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
    +reports: Doctrine\ORM\PersistentCollection {#2307 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
    +violations: Doctrine\ORM\PersistentCollection {#2304 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
    +awards: Doctrine\ORM\PersistentCollection {#2318 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
    +categories: Doctrine\ORM\PersistentCollection {#2294 …}
    -id: 70948
    -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
    +apId: "smileyhead@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
    +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "smileyhead"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719884066 {#2124
      date: 2024-07-02 03:34:26.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699054215 {#2114
      date: 2023-11-04 00:30:15.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#8949
  +user: App\Entity\User {#2162
    +avatar: null
    +cover: null
    +email: "smileyhead@discuss.tchncs.de"
    +username: "@smileyhead@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1712580253 {#2112
      date: 2024-04-08 14:44:13.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 {#2044 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
    +entries: Doctrine\ORM\PersistentCollection {#2215 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
    +posts: Doctrine\ORM\PersistentCollection {#2225 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
    +follows: Doctrine\ORM\PersistentCollection {#2293 …}
    +followers: Doctrine\ORM\PersistentCollection {#2309 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
    +reports: Doctrine\ORM\PersistentCollection {#2307 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
    +violations: Doctrine\ORM\PersistentCollection {#2304 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
    +awards: Doctrine\ORM\PersistentCollection {#2318 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
    +categories: Doctrine\ORM\PersistentCollection {#2294 …}
    -id: 70948
    -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
    +apId: "smileyhead@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
    +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "smileyhead"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719884066 {#2124
      date: 2024-07-02 03:34:26.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699054215 {#2114
      date: 2023-11-04 00:30:15.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1698015089 {#2107
    date: 2023-10-23 00:51:29.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#9004
  +date: DateTimeImmutable @1698015089 {#2107
    date: 2023-10-23 00:51:29.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.08 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698015089 {#2107
    date: 2023-10-23 00:51:29.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#9058
  +createdAt: DateTimeImmutable @1698015089 {#2107
    date: 2023-10-23 00:51:29.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.16 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#9112
  +entry: Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#2162
    +avatar: null
    +cover: null
    +email: "smileyhead@discuss.tchncs.de"
    +username: "@smileyhead@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1712580253 {#2112
      date: 2024-04-08 14:44:13.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 {#2044 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
    +entries: Doctrine\ORM\PersistentCollection {#2215 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
    +posts: Doctrine\ORM\PersistentCollection {#2225 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
    +follows: Doctrine\ORM\PersistentCollection {#2293 …}
    +followers: Doctrine\ORM\PersistentCollection {#2309 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
    +reports: Doctrine\ORM\PersistentCollection {#2307 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
    +violations: Doctrine\ORM\PersistentCollection {#2304 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
    +awards: Doctrine\ORM\PersistentCollection {#2318 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
    +categories: Doctrine\ORM\PersistentCollection {#2294 …}
    -id: 70948
    -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
    +apId: "smileyhead@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
    +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "smileyhead"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719884066 {#2124
      date: 2024-07-02 03:34:26.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699054215 {#2114
      date: 2023-11-04 00:30:15.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#9167
  +width: 40
  +height: 40
  +user: App\Entity\User {#2162
    +avatar: null
    +cover: null
    +email: "smileyhead@discuss.tchncs.de"
    +username: "@smileyhead@discuss.tchncs.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1712580253 {#2112
      date: 2024-04-08 14:44:13.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 {#2044 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
    +entries: Doctrine\ORM\PersistentCollection {#2215 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
    +posts: Doctrine\ORM\PersistentCollection {#2225 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
    +follows: Doctrine\ORM\PersistentCollection {#2293 …}
    +followers: Doctrine\ORM\PersistentCollection {#2309 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
    +reports: Doctrine\ORM\PersistentCollection {#2307 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
    +violations: Doctrine\ORM\PersistentCollection {#2304 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
    +awards: Doctrine\ORM\PersistentCollection {#2318 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
    +categories: Doctrine\ORM\PersistentCollection {#2294 …}
    -id: 70948
    -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
    +apId: "smileyhead@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
    +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
    +apFollowersUrl: null
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "smileyhead"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719884066 {#2124
      date: 2024-07-02 03:34:26.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699054215 {#2114
      date: 2023-11-04 00:30:15.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.71 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#9236
  +subject: App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.62 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#9293
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 78.20 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#9533
  +comment: App\Entity\EntryComment {#2118
    +user: App\Entity\User {#2162
      +avatar: null
      +cover: null
      +email: "smileyhead@discuss.tchncs.de"
      +username: "@smileyhead@discuss.tchncs.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1712580253 {#2112
        date: 2024-04-08 14:44:13.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 {#2044 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
      +entries: Doctrine\ORM\PersistentCollection {#2215 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
      +posts: Doctrine\ORM\PersistentCollection {#2225 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
      +follows: Doctrine\ORM\PersistentCollection {#2293 …}
      +followers: Doctrine\ORM\PersistentCollection {#2309 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
      +reports: Doctrine\ORM\PersistentCollection {#2307 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
      +violations: Doctrine\ORM\PersistentCollection {#2304 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
      +awards: Doctrine\ORM\PersistentCollection {#2318 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
      +categories: Doctrine\ORM\PersistentCollection {#2294 …}
      -id: 70948
      -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
      +apId: "smileyhead@discuss.tchncs.de"
      +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
      +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
      +apFollowersUrl: null
      +apInboxUrl: "https://discuss.tchncs.de/inbox"
      +apDomain: "discuss.tchncs.de"
      +apPreferredUsername: "smileyhead"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719884066 {#2124
        date: 2024-07-02 03:34:26.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699054215 {#2114
        date: 2023-11-04 00:30:15.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "JavaScript was a mistake."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1725264437 {#2110
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2117 …}
    +nested: Doctrine\ORM\PersistentCollection {#2122 …}
    +votes: Doctrine\ORM\PersistentCollection {#2113 …}
    +reports: Doctrine\ORM\PersistentCollection {#2119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
    -id: 232203
    -bodyTs: "'javascript':1 'mistak':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/comment/4186879"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698015089 {#2107
      date: 2023-10-23 00:51:29.0 +02:00
    }
  }
  +nestedComments: [
    315222 => App\Entity\EntryComment {#3120
      +user: Proxies\__CG__\App\Entity\User {#3119
        +avatar: null
        +cover: null
        +email: "LufyCZ@lemmy.dbzer0.com"
        +username: "@LufyCZ@lemmy.dbzer0.com"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1725264437 {#9678
          date: 2024-09-02 10:07:17.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 {#9683 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
        +entries: Doctrine\ORM\PersistentCollection {#9690 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
        +posts: Doctrine\ORM\PersistentCollection {#9698 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
        +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
        +follows: Doctrine\ORM\PersistentCollection {#9710 …}
        +followers: Doctrine\ORM\PersistentCollection {#9712 …}
        +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
        +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
        +reports: Doctrine\ORM\PersistentCollection {#9722 …}
        +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
        +violations: Doctrine\ORM\PersistentCollection {#9726 …}
        +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
        +awards: Doctrine\ORM\PersistentCollection {#9730 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
        +categories: Doctrine\ORM\PersistentCollection {#9734 …}
        -id: 50184
        -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
        +apId: "LufyCZ@lemmy.dbzer0.com"
        +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
        +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
        +apDomain: "lemmy.dbzer0.com"
        +apPreferredUsername: "LufyCZ"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1705131230 {#9675
          date: 2024-01-13 08:33:50.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1696495701 {#9677
          date: 2023-10-05 10:48:21.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: App\Entity\EntryComment {#2118}
      +root: App\Entity\EntryComment {#2118}
      +body: "Yes, pure html pages are so much better and nicer to use!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1698017930 {#3122
        date: 2023-10-23 01:38:50.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
        "@smileyhead@discuss.tchncs.de"
      ]
      +children: Doctrine\ORM\PersistentCollection {#3118 …}
      +nested: Doctrine\ORM\PersistentCollection {#3116 …}
      +votes: Doctrine\ORM\PersistentCollection {#3114 …}
      +reports: Doctrine\ORM\PersistentCollection {#3112 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
      -id: 315222
      -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/4403627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698017930 {#3121
        date: 2023-10-23 01:38:50.0 +02:00
      }
    }
  ]
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 21.22 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#9593
  +comment: App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 1.99 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3119
    +avatar: null
    +cover: null
    +email: "LufyCZ@lemmy.dbzer0.com"
    +username: "@LufyCZ@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1725264437 {#9678
      date: 2024-09-02 10:07:17.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 {#9683 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
    +entries: Doctrine\ORM\PersistentCollection {#9690 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
    +posts: Doctrine\ORM\PersistentCollection {#9698 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
    +follows: Doctrine\ORM\PersistentCollection {#9710 …}
    +followers: Doctrine\ORM\PersistentCollection {#9712 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
    +reports: Doctrine\ORM\PersistentCollection {#9722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
    +violations: Doctrine\ORM\PersistentCollection {#9726 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
    +awards: Doctrine\ORM\PersistentCollection {#9730 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
    +categories: Doctrine\ORM\PersistentCollection {#9734 …}
    -id: 50184
    -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
    +apId: "LufyCZ@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "LufyCZ"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705131230 {#9675
      date: 2024-01-13 08:33:50.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696495701 {#9677
      date: 2023-10-05 10:48:21.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#9638
  +user: Proxies\__CG__\App\Entity\User {#3119
    +avatar: null
    +cover: null
    +email: "LufyCZ@lemmy.dbzer0.com"
    +username: "@LufyCZ@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1725264437 {#9678
      date: 2024-09-02 10:07:17.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 {#9683 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
    +entries: Doctrine\ORM\PersistentCollection {#9690 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
    +posts: Doctrine\ORM\PersistentCollection {#9698 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
    +follows: Doctrine\ORM\PersistentCollection {#9710 …}
    +followers: Doctrine\ORM\PersistentCollection {#9712 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
    +reports: Doctrine\ORM\PersistentCollection {#9722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
    +violations: Doctrine\ORM\PersistentCollection {#9726 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
    +awards: Doctrine\ORM\PersistentCollection {#9730 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
    +categories: Doctrine\ORM\PersistentCollection {#9734 …}
    -id: 50184
    -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
    +apId: "LufyCZ@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "LufyCZ"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705131230 {#9675
      date: 2024-01-13 08:33:50.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696495701 {#9677
      date: 2023-10-05 10:48:21.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.16 ms
Input props
[
  "date" => DateTimeImmutable @1698017930 {#3121
    date: 2023-10-23 01:38:50.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#9756
  +date: DateTimeImmutable @1698017930 {#3121
    date: 2023-10-23 01:38:50.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1698017930 {#3121
    date: 2023-10-23 01:38:50.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#9810
  +createdAt: DateTimeImmutable @1698017930 {#3121
    date: 2023-10-23 01:38:50.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.17 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#3119
    +avatar: null
    +cover: null
    +email: "LufyCZ@lemmy.dbzer0.com"
    +username: "@LufyCZ@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1725264437 {#9678
      date: 2024-09-02 10:07:17.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 {#9683 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
    +entries: Doctrine\ORM\PersistentCollection {#9690 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
    +posts: Doctrine\ORM\PersistentCollection {#9698 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
    +follows: Doctrine\ORM\PersistentCollection {#9710 …}
    +followers: Doctrine\ORM\PersistentCollection {#9712 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
    +reports: Doctrine\ORM\PersistentCollection {#9722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
    +violations: Doctrine\ORM\PersistentCollection {#9726 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
    +awards: Doctrine\ORM\PersistentCollection {#9730 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
    +categories: Doctrine\ORM\PersistentCollection {#9734 …}
    -id: 50184
    -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
    +apId: "LufyCZ@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "LufyCZ"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705131230 {#9675
      date: 2024-01-13 08:33:50.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696495701 {#9677
      date: 2023-10-05 10:48:21.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#9864
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#3119
    +avatar: null
    +cover: null
    +email: "LufyCZ@lemmy.dbzer0.com"
    +username: "@LufyCZ@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1725264437 {#9678
      date: 2024-09-02 10:07:17.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 {#9683 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
    +entries: Doctrine\ORM\PersistentCollection {#9690 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
    +posts: Doctrine\ORM\PersistentCollection {#9698 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
    +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
    +follows: Doctrine\ORM\PersistentCollection {#9710 …}
    +followers: Doctrine\ORM\PersistentCollection {#9712 …}
    +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
    +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
    +reports: Doctrine\ORM\PersistentCollection {#9722 …}
    +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
    +violations: Doctrine\ORM\PersistentCollection {#9726 …}
    +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
    +awards: Doctrine\ORM\PersistentCollection {#9730 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
    +categories: Doctrine\ORM\PersistentCollection {#9734 …}
    -id: 50184
    -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
    +apId: "LufyCZ@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "LufyCZ"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705131230 {#9675
      date: 2024-01-13 08:33:50.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696495701 {#9677
      date: 2023-10-05 10:48:21.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#9933
  +subject: App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.74 ms
Input props
[
  "subject" => App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#9990
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 0.34 ms
Input props
[
  "comment" => App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#10230
  +comment: App\Entity\EntryComment {#3120
    +user: Proxies\__CG__\App\Entity\User {#3119
      +avatar: null
      +cover: null
      +email: "LufyCZ@lemmy.dbzer0.com"
      +username: "@LufyCZ@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1725264437 {#9678
        date: 2024-09-02 10:07:17.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 {#9683 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#9686 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#9688 …}
      +entries: Doctrine\ORM\PersistentCollection {#9690 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#9692 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#9694 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#9696 …}
      +posts: Doctrine\ORM\PersistentCollection {#9698 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#9700 …}
      +postComments: Doctrine\ORM\PersistentCollection {#9702 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#9704 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#9706 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#9708 …}
      +follows: Doctrine\ORM\PersistentCollection {#9710 …}
      +followers: Doctrine\ORM\PersistentCollection {#9712 …}
      +blocks: Doctrine\ORM\PersistentCollection {#9714 …}
      +blockers: Doctrine\ORM\PersistentCollection {#9716 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#9718 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#9720 …}
      +reports: Doctrine\ORM\PersistentCollection {#9722 …}
      +favourites: Doctrine\ORM\PersistentCollection {#9724 …}
      +violations: Doctrine\ORM\PersistentCollection {#9726 …}
      +notifications: Doctrine\ORM\PersistentCollection {#9728 …}
      +awards: Doctrine\ORM\PersistentCollection {#9730 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#9732 …}
      +categories: Doctrine\ORM\PersistentCollection {#9734 …}
      -id: 50184
      -password: "$2y$13$ubw3ILWL5UaA5UH8atLYyeWWBgSaf71ExRRkThDYrLePAhgC/Erpi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#9736 …}
      +apId: "LufyCZ@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/LufyCZ"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "LufyCZ"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705131230 {#9675
        date: 2024-01-13 08:33:50.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696495701 {#9677
        date: 2023-10-05 10:48:21.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: App\Entity\EntryComment {#2118
      +user: App\Entity\User {#2162
        +avatar: null
        +cover: null
        +email: "smileyhead@discuss.tchncs.de"
        +username: "@smileyhead@discuss.tchncs.de"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1712580253 {#2112
          date: 2024-04-08 14:44:13.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 {#2044 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2127 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#2043 …}
        +entries: Doctrine\ORM\PersistentCollection {#2215 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#2198 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#2227 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2214 …}
        +posts: Doctrine\ORM\PersistentCollection {#2225 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#2231 …}
        +postComments: Doctrine\ORM\PersistentCollection {#2229 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#2252 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#2189 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#2311 …}
        +follows: Doctrine\ORM\PersistentCollection {#2293 …}
        +followers: Doctrine\ORM\PersistentCollection {#2309 …}
        +blocks: Doctrine\ORM\PersistentCollection {#2302 …}
        +blockers: Doctrine\ORM\PersistentCollection {#2320 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#2312 …}
        +reports: Doctrine\ORM\PersistentCollection {#2307 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2308 …}
        +violations: Doctrine\ORM\PersistentCollection {#2304 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2319 …}
        +awards: Doctrine\ORM\PersistentCollection {#2318 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#2316 …}
        +categories: Doctrine\ORM\PersistentCollection {#2294 …}
        -id: 70948
        -password: "$2y$13$DhFaElOja0E9./SRgLFm9e6rZDlbIc7wz8vcZiO79cF0YK4LgvBN."
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2296 …}
        +apId: "smileyhead@discuss.tchncs.de"
        +apProfileId: "https://discuss.tchncs.de/u/smileyhead"
        +apPublicUrl: "https://discuss.tchncs.de/u/smileyhead"
        +apFollowersUrl: null
        +apInboxUrl: "https://discuss.tchncs.de/inbox"
        +apDomain: "discuss.tchncs.de"
        +apPreferredUsername: "smileyhead"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1719884066 {#2124
          date: 2024-07-02 03:34:26.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1699054215 {#2114
          date: 2023-11-04 00:30:15.0 +01:00
        }
      }
      +entry: Proxies\__CG__\App\Entity\Entry {#2164 …2}
      +magazine: App\Entity\Magazine {#307}
      +image: null
      +parent: null
      +root: null
      +body: "JavaScript was a mistake."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1725264437 {#2110
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@ugjka@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2117 …}
      +nested: Doctrine\ORM\PersistentCollection {#2122 …}
      +votes: Doctrine\ORM\PersistentCollection {#2113 …}
      +reports: Doctrine\ORM\PersistentCollection {#2119 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2120 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2160 …}
      -id: 232203
      -bodyTs: "'javascript':1 'mistak':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://discuss.tchncs.de/comment/4186879"
      +editedAt: null
      +createdAt: DateTimeImmutable @1698015089 {#2107
        date: 2023-10-23 00:51:29.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#2118}
    +body: "Yes, pure html pages are so much better and nicer to use!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1698017930 {#3122
      date: 2023-10-23 01:38:50.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
      "@smileyhead@discuss.tchncs.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#3118 …}
    +nested: Doctrine\ORM\PersistentCollection {#3116 …}
    +votes: Doctrine\ORM\PersistentCollection {#3114 …}
    +reports: Doctrine\ORM\PersistentCollection {#3112 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3108 …}
    -id: 315222
    -bodyTs: "'better':8 'html':3 'much':7 'nicer':10 'page':4 'pure':2 'use':12 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4403627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1698017930 {#3121
      date: 2023-10-23 01:38:50.0 +02:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 40.38 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#10306
  +comment: App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.19 ms
Input props
[
  "user" => App\Entity\User {#2195
    +avatar: null
    +cover: null
    +email: "idefix@sh.itjust.works"
    +username: "@idefix@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1727289380 {#2280
      date: 2024-09-25 20:36:20.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 {#2193 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
    +entries: Doctrine\ORM\PersistentCollection {#2210 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
    +posts: Doctrine\ORM\PersistentCollection {#2211 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
    +follows: Doctrine\ORM\PersistentCollection {#2265 …}
    +followers: Doctrine\ORM\PersistentCollection {#2263 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
    +reports: Doctrine\ORM\PersistentCollection {#2238 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
    +violations: Doctrine\ORM\PersistentCollection {#2259 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
    +awards: Doctrine\ORM\PersistentCollection {#2250 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
    +categories: Doctrine\ORM\PersistentCollection {#2243 …}
    -id: 41642
    -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
    +apId: "idefix@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/idefix"
    +apPublicUrl: "https://sh.itjust.works/u/idefix"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "idefix"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702197841 {#2282
      date: 2023-12-10 09:44:01.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692553156 {#2278
      date: 2023-08-20 19:39:16.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#10369
  +user: App\Entity\User {#2195
    +avatar: null
    +cover: null
    +email: "idefix@sh.itjust.works"
    +username: "@idefix@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1727289380 {#2280
      date: 2024-09-25 20:36:20.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 {#2193 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
    +entries: Doctrine\ORM\PersistentCollection {#2210 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
    +posts: Doctrine\ORM\PersistentCollection {#2211 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
    +follows: Doctrine\ORM\PersistentCollection {#2265 …}
    +followers: Doctrine\ORM\PersistentCollection {#2263 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
    +reports: Doctrine\ORM\PersistentCollection {#2238 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
    +violations: Doctrine\ORM\PersistentCollection {#2259 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
    +awards: Doctrine\ORM\PersistentCollection {#2250 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
    +categories: Doctrine\ORM\PersistentCollection {#2243 …}
    -id: 41642
    -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
    +apId: "idefix@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/idefix"
    +apPublicUrl: "https://sh.itjust.works/u/idefix"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "idefix"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702197841 {#2282
      date: 2023-12-10 09:44:01.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692553156 {#2278
      date: 2023-08-20 19:39:16.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1697996109 {#2283
    date: 2023-10-22 19:35:09.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#10424
  +date: DateTimeImmutable @1697996109 {#2283
    date: 2023-10-22 19:35:09.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697996109 {#2283
    date: 2023-10-22 19:35:09.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#10478
  +createdAt: DateTimeImmutable @1697996109 {#2283
    date: 2023-10-22 19:35:09.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.12 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2279
    +user: Proxies\__CG__\App\Entity\User {#10343 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
    +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
    +url: null
    +body: """
      ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
      \n
      ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
      \n
      ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
      \n
      ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
      \n
      According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697996109 {#10344
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#10349 …}
    +votes: Doctrine\ORM\PersistentCollection {#10352 …}
    +reports: Doctrine\ORM\PersistentCollection {#10354 …}
    +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
    +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
    +badges: Doctrine\ORM\PersistentCollection {#10360 …}
    +children: []
    -id: 11181
    -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
    -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697992748
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/12369763"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697986248 {#10341
      date: 2023-10-22 16:50:48.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#10532
  +entry: Proxies\__CG__\App\Entity\Entry {#2279
    +user: Proxies\__CG__\App\Entity\User {#10343 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
    +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
    +url: null
    +body: """
      ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
      \n
      ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
      \n
      ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
      \n
      ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
      \n
      According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697996109 {#10344
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#10349 …}
    +votes: Doctrine\ORM\PersistentCollection {#10352 …}
    +reports: Doctrine\ORM\PersistentCollection {#10354 …}
    +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
    +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
    +badges: Doctrine\ORM\PersistentCollection {#10360 …}
    +children: []
    -id: 11181
    -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
    -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697992748
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/12369763"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697986248 {#10341
      date: 2023-10-22 16:50:48.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.12 ms
Input props
[
  "user" => App\Entity\User {#2195
    +avatar: null
    +cover: null
    +email: "idefix@sh.itjust.works"
    +username: "@idefix@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1727289380 {#2280
      date: 2024-09-25 20:36:20.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 {#2193 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
    +entries: Doctrine\ORM\PersistentCollection {#2210 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
    +posts: Doctrine\ORM\PersistentCollection {#2211 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
    +follows: Doctrine\ORM\PersistentCollection {#2265 …}
    +followers: Doctrine\ORM\PersistentCollection {#2263 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
    +reports: Doctrine\ORM\PersistentCollection {#2238 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
    +violations: Doctrine\ORM\PersistentCollection {#2259 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
    +awards: Doctrine\ORM\PersistentCollection {#2250 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
    +categories: Doctrine\ORM\PersistentCollection {#2243 …}
    -id: 41642
    -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
    +apId: "idefix@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/idefix"
    +apPublicUrl: "https://sh.itjust.works/u/idefix"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "idefix"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702197841 {#2282
      date: 2023-12-10 09:44:01.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692553156 {#2278
      date: 2023-08-20 19:39:16.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10587
  +width: 40
  +height: 40
  +user: App\Entity\User {#2195
    +avatar: null
    +cover: null
    +email: "idefix@sh.itjust.works"
    +username: "@idefix@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1727289380 {#2280
      date: 2024-09-25 20:36:20.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 {#2193 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
    +entries: Doctrine\ORM\PersistentCollection {#2210 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
    +posts: Doctrine\ORM\PersistentCollection {#2211 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
    +follows: Doctrine\ORM\PersistentCollection {#2265 …}
    +followers: Doctrine\ORM\PersistentCollection {#2263 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
    +reports: Doctrine\ORM\PersistentCollection {#2238 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
    +violations: Doctrine\ORM\PersistentCollection {#2259 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
    +awards: Doctrine\ORM\PersistentCollection {#2250 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
    +categories: Doctrine\ORM\PersistentCollection {#2243 …}
    -id: 41642
    -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
    +apId: "idefix@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/idefix"
    +apPublicUrl: "https://sh.itjust.works/u/idefix"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "idefix"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702197841 {#2282
      date: 2023-12-10 09:44:01.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692553156 {#2278
      date: 2023-08-20 19:39:16.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 2.55 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#10656
  +subject: App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.68 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#10713
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 29.02 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#10953
  +comment: App\Entity\EntryComment {#2276
    +user: App\Entity\User {#2195
      +avatar: null
      +cover: null
      +email: "idefix@sh.itjust.works"
      +username: "@idefix@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1727289380 {#2280
        date: 2024-09-25 20:36:20.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 {#2193 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2205 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2202 …}
      +entries: Doctrine\ORM\PersistentCollection {#2210 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2207 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2208 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2204 …}
      +posts: Doctrine\ORM\PersistentCollection {#2211 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2266 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2268 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2273 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2274 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2190 …}
      +follows: Doctrine\ORM\PersistentCollection {#2265 …}
      +followers: Doctrine\ORM\PersistentCollection {#2263 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2235 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2239 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2236 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2226 …}
      +reports: Doctrine\ORM\PersistentCollection {#2238 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2249 …}
      +violations: Doctrine\ORM\PersistentCollection {#2259 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2244 …}
      +awards: Doctrine\ORM\PersistentCollection {#2250 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2245 …}
      +categories: Doctrine\ORM\PersistentCollection {#2243 …}
      -id: 41642
      -password: "$2y$13$ip3SM2Yi2hZL93tQ3aq0H.Xo14bNKFe8xxYRhLckQZdiqkucACo4q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2255 …}
      +apId: "idefix@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/idefix"
      +apPublicUrl: "https://sh.itjust.works/u/idefix"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "idefix"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702197841 {#2282
        date: 2023-12-10 09:44:01.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1692553156 {#2278
        date: 2023-08-20 19:39:16.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2279
      +user: Proxies\__CG__\App\Entity\User {#10343 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Flatpak-standing-the-test-of-time-modern-Flatpak-apps-running"
      +title: "Flatpak standing the test of time: modern Flatpak apps running on Ubuntu 16.04 ESM, a 7-year-old distro"
      +url: null
      +body: """
        ![Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04](https://i.imgur.com/avBEliN.png)\n
        \n
        ![Firefox 118.0.2 running on Ubuntu 16.04](https://i.imgur.com/AvwimhB.png)\n
        \n
        ![Door Knocker, Collision, and Cartridges running on Ubuntu 16.04](https://i.imgur.com/YgOnGRp.png)\n
        \n
        ![ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals](https://i.imgur.com/9wDyx2T.png)\n
        \n
        According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697996109 {#10344
        date: 2023-10-22 19:35:09.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#10349 …}
      +votes: Doctrine\ORM\PersistentCollection {#10352 …}
      +reports: Doctrine\ORM\PersistentCollection {#10354 …}
      +favourites: Doctrine\ORM\PersistentCollection {#10356 …}
      +notifications: Doctrine\ORM\PersistentCollection {#10358 …}
      +badges: Doctrine\ORM\PersistentCollection {#10360 …}
      +children: []
      -id: 11181
      -titleTs: "'16.04':13 '7':16 'app':9 'distro':20 'esm':14 'flatpak':1,8 'modern':7 'old':19 'run':10 'stand':2 'test':4 'time':6 'ubuntu':12 'year':18 'year-old':17"
      -bodyTs: "'/9wdyx2t.png)':50 '/avbelin.png)':14 '/avwimhb.png)':23 '/ygongrp.png)':35 '118.0.2':16 '16.04':11,20,32,41,64 '39':72 'accord':51 'almost':55 'ashpd':36 'capabl':84 'cartridg':28 'collis':26 'compar':65 'demo':37 'door':24,53 'fedora':71 'firefox':15 'flatpak':77 'flatseal':2 'gnome':74 'gradienc':1 'half':56 'i.imgur.com':13,22,34,49 'i.imgur.com/9wdyx2t.png)':48 'i.imgur.com/avbelin.png)':12 'i.imgur.com/avwimhb.png)':21 'i.imgur.com/ygongrp.png)':33 'imag':4 'knocker':25,54 'limit':83 'loup':3 'may':80 'mean':76 'notif':44 'one':68 'portal':47,59 'resourc':7 'run':8,17,29,38,78 'show':42 'ubuntu':10,19,31,40,63 'unavail':61,69 'usual':86 'viewer':5 'xdg':46"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697992748
      +visibility: "visible             "
      +apId: "https://lemm.ee/post/12369763"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697986248 {#10341
        date: 2023-10-22 16:50:48.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Having a rock-solid Debian stable as a desktop with up-to-date softwares when it matters. It sounded impossible a few years ago but that might be achievable now with Flatpak. That’s awesome."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697996109 {#2281
      date: 2023-10-22 19:35:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@IverCoder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2275 …}
    +nested: Doctrine\ORM\PersistentCollection {#2261 …}
    +votes: Doctrine\ORM\PersistentCollection {#2218 …}
    +reports: Doctrine\ORM\PersistentCollection {#2221 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2217 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2199 …}
    -id: 103736
    -bodyTs: "'achiev':31 'ago':26 'awesom':37 'date':15 'debian':6 'desktop':10 'flatpak':34 'imposs':22 'matter':19 'might':29 'rock':4 'rock-solid':3 'softwar':16 'solid':5 'sound':21 'stabl':7 'up-to-d':12 'year':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/4692738"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697996109 {#2283
      date: 2023-10-22 19:35:09.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 21.29 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#11023
  +comment: App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#2153
    +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
    +email: "hellfire103@sopuli.xyz"
    +username: "@hellfire103@sopuli.xyz"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
    +lastActive: DateTime @1727990439 {#2285
      date: 2024-10-03 23:20:39.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 {#2146 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
    +entries: Doctrine\ORM\PersistentCollection {#2171 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
    +posts: Doctrine\ORM\PersistentCollection {#2174 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
    +follows: Doctrine\ORM\PersistentCollection {#1994 …}
    +followers: Doctrine\ORM\PersistentCollection {#2005 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
    +reports: Doctrine\ORM\PersistentCollection {#2000 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
    +violations: Doctrine\ORM\PersistentCollection {#1990 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
    +awards: Doctrine\ORM\PersistentCollection {#2014 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
    +categories: Doctrine\ORM\PersistentCollection {#2017 …}
    -id: 39361
    -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
    +apId: "hellfire103@sopuli.xyz"
    +apProfileId: "https://sopuli.xyz/u/hellfire103"
    +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
    +apFollowersUrl: null
    +apInboxUrl: "https://sopuli.xyz/inbox"
    +apDomain: "sopuli.xyz"
    +apPreferredUsername: "hellfire103"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728100784 {#2286
      date: 2024-10-05 05:59:44.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691446385 {#2287
      date: 2023-08-08 00:13:05.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#11086
  +user: App\Entity\User {#2153
    +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
    +email: "hellfire103@sopuli.xyz"
    +username: "@hellfire103@sopuli.xyz"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
    +lastActive: DateTime @1727990439 {#2285
      date: 2024-10-03 23:20:39.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 {#2146 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
    +entries: Doctrine\ORM\PersistentCollection {#2171 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
    +posts: Doctrine\ORM\PersistentCollection {#2174 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
    +follows: Doctrine\ORM\PersistentCollection {#1994 …}
    +followers: Doctrine\ORM\PersistentCollection {#2005 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
    +reports: Doctrine\ORM\PersistentCollection {#2000 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
    +violations: Doctrine\ORM\PersistentCollection {#1990 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
    +awards: Doctrine\ORM\PersistentCollection {#2014 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
    +categories: Doctrine\ORM\PersistentCollection {#2017 …}
    -id: 39361
    -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
    +apId: "hellfire103@sopuli.xyz"
    +apProfileId: "https://sopuli.xyz/u/hellfire103"
    +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
    +apFollowersUrl: null
    +apInboxUrl: "https://sopuli.xyz/inbox"
    +apDomain: "sopuli.xyz"
    +apPreferredUsername: "hellfire103"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728100784 {#2286
      date: 2024-10-05 05:59:44.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691446385 {#2287
      date: 2023-08-08 00:13:05.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.18 ms
Input props
[
  "date" => DateTimeImmutable @1697969316 {#2284
    date: 2023-10-22 12:08:36.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#11141
  +date: DateTimeImmutable @1697969316 {#2284
    date: 2023-10-22 12:08:36.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.18 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697969316 {#2284
    date: 2023-10-22 12:08:36.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#11195
  +createdAt: DateTimeImmutable @1697969316 {#2284
    date: 2023-10-22 12:08:36.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.17 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2142
    +user: Proxies\__CG__\App\Entity\User {#11060 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Question-Which-shell-prompt-do-you-use-and-why"
    +title: "[Question] Which shell prompt do you use and why?"
    +url: null
    +body: """
      Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
      \n
      - **Do you customize your shell prompt?**\n
      - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
      - **How is your experiences with it so far?**\n
      - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698086696 {#11061
      date: 2023-10-23 20:44:56.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#11066 …}
    +votes: Doctrine\ORM\PersistentCollection {#11069 …}
    +reports: Doctrine\ORM\PersistentCollection {#11071 …}
    +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
    +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
    +badges: Doctrine\ORM\PersistentCollection {#11077 …}
    +children: []
    -id: 9138
    -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
    -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697935422
    +visibility: "visible             "
    +apId: "https://iusearchlinux.fyi/post/1748513"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697896422 {#11058
      date: 2023-10-21 15:53:42.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#11249
  +entry: Proxies\__CG__\App\Entity\Entry {#2142
    +user: Proxies\__CG__\App\Entity\User {#11060 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Question-Which-shell-prompt-do-you-use-and-why"
    +title: "[Question] Which shell prompt do you use and why?"
    +url: null
    +body: """
      Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
      \n
      - **Do you customize your shell prompt?**\n
      - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
      - **How is your experiences with it so far?**\n
      - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698086696 {#11061
      date: 2023-10-23 20:44:56.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#11066 …}
    +votes: Doctrine\ORM\PersistentCollection {#11069 …}
    +reports: Doctrine\ORM\PersistentCollection {#11071 …}
    +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
    +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
    +badges: Doctrine\ORM\PersistentCollection {#11077 …}
    +children: []
    -id: 9138
    -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
    -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697935422
    +visibility: "visible             "
    +apId: "https://iusearchlinux.fyi/post/1748513"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697896422 {#11058
      date: 2023-10-21 15:53:42.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.50 ms
Input props
[
  "user" => App\Entity\User {#2153
    +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
    +email: "hellfire103@sopuli.xyz"
    +username: "@hellfire103@sopuli.xyz"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
    +lastActive: DateTime @1727990439 {#2285
      date: 2024-10-03 23:20:39.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 {#2146 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
    +entries: Doctrine\ORM\PersistentCollection {#2171 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
    +posts: Doctrine\ORM\PersistentCollection {#2174 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
    +follows: Doctrine\ORM\PersistentCollection {#1994 …}
    +followers: Doctrine\ORM\PersistentCollection {#2005 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
    +reports: Doctrine\ORM\PersistentCollection {#2000 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
    +violations: Doctrine\ORM\PersistentCollection {#1990 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
    +awards: Doctrine\ORM\PersistentCollection {#2014 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
    +categories: Doctrine\ORM\PersistentCollection {#2017 …}
    -id: 39361
    -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
    +apId: "hellfire103@sopuli.xyz"
    +apProfileId: "https://sopuli.xyz/u/hellfire103"
    +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
    +apFollowersUrl: null
    +apInboxUrl: "https://sopuli.xyz/inbox"
    +apDomain: "sopuli.xyz"
    +apPreferredUsername: "hellfire103"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728100784 {#2286
      date: 2024-10-05 05:59:44.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691446385 {#2287
      date: 2023-08-08 00:13:05.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#11304
  +width: 40
  +height: 40
  +user: App\Entity\User {#2153
    +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
    +email: "hellfire103@sopuli.xyz"
    +username: "@hellfire103@sopuli.xyz"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
    +lastActive: DateTime @1727990439 {#2285
      date: 2024-10-03 23:20:39.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 {#2146 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
    +entries: Doctrine\ORM\PersistentCollection {#2171 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
    +posts: Doctrine\ORM\PersistentCollection {#2174 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
    +follows: Doctrine\ORM\PersistentCollection {#1994 …}
    +followers: Doctrine\ORM\PersistentCollection {#2005 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
    +reports: Doctrine\ORM\PersistentCollection {#2000 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
    +violations: Doctrine\ORM\PersistentCollection {#1990 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
    +awards: Doctrine\ORM\PersistentCollection {#2014 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
    +categories: Doctrine\ORM\PersistentCollection {#2017 …}
    -id: 39361
    -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
    +apId: "hellfire103@sopuli.xyz"
    +apProfileId: "https://sopuli.xyz/u/hellfire103"
    +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
    +apFollowersUrl: null
    +apInboxUrl: "https://sopuli.xyz/inbox"
    +apDomain: "sopuli.xyz"
    +apPreferredUsername: "hellfire103"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728100784 {#2286
      date: 2024-10-05 05:59:44.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691446385 {#2287
      date: 2023-08-08 00:13:05.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#11391
  +subject: App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.89 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#11448
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 10.16 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#11688
  +comment: App\Entity\EntryComment {#2188
    +user: App\Entity\User {#2153
      +avatar: Proxies\__CG__\App\Entity\Image {#2148 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2149 …}
      +email: "hellfire103@sopuli.xyz"
      +username: "@hellfire103@sopuli.xyz"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Young humanoid in the UK. Proudly LGBT. Slava Ukraini! | *they/them*"
      +lastActive: DateTime @1727990439 {#2285
        date: 2024-10-03 23:20:39.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 {#2146 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2180 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2181 …}
      +entries: Doctrine\ORM\PersistentCollection {#2171 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2186 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2187 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2177 …}
      +posts: Doctrine\ORM\PersistentCollection {#2174 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2170 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2184 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2169 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2134 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1985 …}
      +follows: Doctrine\ORM\PersistentCollection {#1994 …}
      +followers: Doctrine\ORM\PersistentCollection {#2005 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1996 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1993 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1992 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2002 …}
      +reports: Doctrine\ORM\PersistentCollection {#2000 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2007 …}
      +violations: Doctrine\ORM\PersistentCollection {#1990 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2010 …}
      +awards: Doctrine\ORM\PersistentCollection {#2014 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2016 …}
      +categories: Doctrine\ORM\PersistentCollection {#2017 …}
      -id: 39361
      -password: "$2y$13$5wj63ZEMWLlDu66icV2bf.qNeI4dL6QLXgL3md.Qqyh28unHjUsvS"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1984 …}
      +apId: "hellfire103@sopuli.xyz"
      +apProfileId: "https://sopuli.xyz/u/hellfire103"
      +apPublicUrl: "https://sopuli.xyz/u/hellfire103"
      +apFollowersUrl: null
      +apInboxUrl: "https://sopuli.xyz/inbox"
      +apDomain: "sopuli.xyz"
      +apPreferredUsername: "hellfire103"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728100784 {#2286
        date: 2024-10-05 05:59:44.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691446385 {#2287
        date: 2023-08-08 00:13:05.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I use Zsh with the Oh My Zsh! framework, and I use a different theme depending on which subuserland I’m in, by customising `~/.zshrc`. For example, I use the gentoo theme on Debian and its derivatives, agnoster on NixOS, darkblood on Arch, strug for Mageia, apple on my macOS device, aussiegeek on FreeBSD, and gallifrey on OpenBSD. Different themes helps me remember which package manager to use and which distro-specific commands will work.\n
      \n
      I’ll send some screenshots in a bit, when I boot up my PC.\n
      \n
      I like Zsh because of its tab completion and command history. I also quite like its plugins.\n
      \n
      Before anyone asks, I have tried Fish before, and I prefer Zsh. I have tried configuring Bash before, and I prefer Zsh. I have played with Ksh and Tcsh on BSD, and I prefer Zsh. I used PowerShell a long time ago, and I prefer Zsh.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697969316 {#2251
      date: 2023-10-22 12:08:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2034 …}
    +nested: Doctrine\ORM\PersistentCollection {#2156 …}
    +votes: Doctrine\ORM\PersistentCollection {#2154 …}
    +reports: Doctrine\ORM\PersistentCollection {#2157 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2147 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2150 …}
    -id: 85470
    -bodyTs: "'/.zshrc':25 'agnost':38 'ago':149 'also':103 'anyon':109 'appl':47 'arch':43 'ask':110 'aussiegeek':52 'bash':124 'bit':84 'boot':87 'bsd':138 'command':74,100 'complet':98 'configur':123 'customis':24 'darkblood':41 'debian':34 'depend':16 'deriv':37 'devic':51 'differ':14,59 'distro':72 'distro-specif':71 'exampl':27 'fish':114 'framework':9 'freebsd':54 'gallifrey':56 'gentoo':31 'help':61 'histori':101 'ksh':134 'like':92,105 'll':78 'long':147 'm':21 'maco':50 'mageia':46 'manag':66 'nixo':40 'oh':6 'openbsd':58 'packag':65 'pc':90 'play':132 'plugin':107 'powershel':145 'prefer':118,128,141,152 'quit':104 'rememb':63 'screenshot':81 'send':79 'specif':73 'strug':44 'subuserland':19 'tab':97 'tcsh':136 'theme':15,32,60 'time':148 'tri':113,122 'use':2,12,29,68,144 'work':76 'zsh':3,8,93,119,129,142,153"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/3963731"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697969316 {#2284
      date: 2023-10-22 12:08:36.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 16.48 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#11758
  +comment: App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.13 ms
Input props
[
  "user" => App\Entity\User {#1349
    +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
    +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
    +email: "wgs@lemmy.sdf.org"
    +username: "@wgs@lemmy.sdf.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[z3bra.org](https://z3bra.org)"
    +lastActive: DateTime @1709170109 {#1982
      date: 2024-02-29 02:28:29.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
    +entries: Doctrine\ORM\PersistentCollection {#2491 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
    +posts: Doctrine\ORM\PersistentCollection {#2499 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
    +follows: Doctrine\ORM\PersistentCollection {#2511 …}
    +followers: Doctrine\ORM\PersistentCollection {#2513 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
    +reports: Doctrine\ORM\PersistentCollection {#2523 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
    +violations: Doctrine\ORM\PersistentCollection {#2527 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
    +awards: Doctrine\ORM\PersistentCollection {#2531 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
    +categories: Doctrine\ORM\PersistentCollection {#2535 …}
    -id: 10596
    -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
    +apId: "wgs@lemmy.sdf.org"
    +apProfileId: "https://lemmy.sdf.org/u/wgs"
    +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.sdf.org/inbox"
    +apDomain: "lemmy.sdf.org"
    +apPreferredUsername: "wgs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699763178 {#1979
      date: 2023-11-12 05:26:18.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: DateTime @1706787883 {#1980
      date: 2024-02-01 12:44:43.0 +01:00
    }
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687607117 {#2368
      date: 2023-06-24 13:45:17.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#11803
  +user: App\Entity\User {#1349
    +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
    +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
    +email: "wgs@lemmy.sdf.org"
    +username: "@wgs@lemmy.sdf.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[z3bra.org](https://z3bra.org)"
    +lastActive: DateTime @1709170109 {#1982
      date: 2024-02-29 02:28:29.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
    +entries: Doctrine\ORM\PersistentCollection {#2491 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
    +posts: Doctrine\ORM\PersistentCollection {#2499 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
    +follows: Doctrine\ORM\PersistentCollection {#2511 …}
    +followers: Doctrine\ORM\PersistentCollection {#2513 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
    +reports: Doctrine\ORM\PersistentCollection {#2523 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
    +violations: Doctrine\ORM\PersistentCollection {#2527 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
    +awards: Doctrine\ORM\PersistentCollection {#2531 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
    +categories: Doctrine\ORM\PersistentCollection {#2535 …}
    -id: 10596
    -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
    +apId: "wgs@lemmy.sdf.org"
    +apProfileId: "https://lemmy.sdf.org/u/wgs"
    +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.sdf.org/inbox"
    +apDomain: "lemmy.sdf.org"
    +apPreferredUsername: "wgs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699763178 {#1979
      date: 2023-11-12 05:26:18.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: DateTime @1706787883 {#1980
      date: 2024-02-01 12:44:43.0 +01:00
    }
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687607117 {#2368
      date: 2023-06-24 13:45:17.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697967185 {#1983
    date: 2023-10-22 11:33:05.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#11858
  +date: DateTimeImmutable @1697967185 {#1983
    date: 2023-10-22 11:33:05.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.13 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697967185 {#1983
    date: 2023-10-22 11:33:05.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#11912
  +createdAt: DateTimeImmutable @1697967185 {#1983
    date: 2023-10-22 11:33:05.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.12 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2142
    +user: Proxies\__CG__\App\Entity\User {#11060 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Question-Which-shell-prompt-do-you-use-and-why"
    +title: "[Question] Which shell prompt do you use and why?"
    +url: null
    +body: """
      Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
      \n
      - **Do you customize your shell prompt?**\n
      - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
      - **How is your experiences with it so far?**\n
      - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698086696 {#11061
      date: 2023-10-23 20:44:56.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#11066 …}
    +votes: Doctrine\ORM\PersistentCollection {#11069 …}
    +reports: Doctrine\ORM\PersistentCollection {#11071 …}
    +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
    +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
    +badges: Doctrine\ORM\PersistentCollection {#11077 …}
    +children: []
    -id: 9138
    -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
    -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697935422
    +visibility: "visible             "
    +apId: "https://iusearchlinux.fyi/post/1748513"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697896422 {#11058
      date: 2023-10-21 15:53:42.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#11966
  +entry: Proxies\__CG__\App\Entity\Entry {#2142
    +user: Proxies\__CG__\App\Entity\User {#11060 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Question-Which-shell-prompt-do-you-use-and-why"
    +title: "[Question] Which shell prompt do you use and why?"
    +url: null
    +body: """
      Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
      \n
      - **Do you customize your shell prompt?**\n
      - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
      - **How is your experiences with it so far?**\n
      - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1698086696 {#11061
      date: 2023-10-23 20:44:56.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#11066 …}
    +votes: Doctrine\ORM\PersistentCollection {#11069 …}
    +reports: Doctrine\ORM\PersistentCollection {#11071 …}
    +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
    +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
    +badges: Doctrine\ORM\PersistentCollection {#11077 …}
    +children: []
    -id: 9138
    -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
    -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697935422
    +visibility: "visible             "
    +apId: "https://iusearchlinux.fyi/post/1748513"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697896422 {#11058
      date: 2023-10-21 15:53:42.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 1.76 ms
Input props
[
  "user" => App\Entity\User {#1349
    +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
    +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
    +email: "wgs@lemmy.sdf.org"
    +username: "@wgs@lemmy.sdf.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[z3bra.org](https://z3bra.org)"
    +lastActive: DateTime @1709170109 {#1982
      date: 2024-02-29 02:28:29.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
    +entries: Doctrine\ORM\PersistentCollection {#2491 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
    +posts: Doctrine\ORM\PersistentCollection {#2499 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
    +follows: Doctrine\ORM\PersistentCollection {#2511 …}
    +followers: Doctrine\ORM\PersistentCollection {#2513 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
    +reports: Doctrine\ORM\PersistentCollection {#2523 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
    +violations: Doctrine\ORM\PersistentCollection {#2527 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
    +awards: Doctrine\ORM\PersistentCollection {#2531 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
    +categories: Doctrine\ORM\PersistentCollection {#2535 …}
    -id: 10596
    -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
    +apId: "wgs@lemmy.sdf.org"
    +apProfileId: "https://lemmy.sdf.org/u/wgs"
    +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.sdf.org/inbox"
    +apDomain: "lemmy.sdf.org"
    +apPreferredUsername: "wgs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699763178 {#1979
      date: 2023-11-12 05:26:18.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: DateTime @1706787883 {#1980
      date: 2024-02-01 12:44:43.0 +01:00
    }
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687607117 {#2368
      date: 2023-06-24 13:45:17.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#12021
  +width: 40
  +height: 40
  +user: App\Entity\User {#1349
    +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
    +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
    +email: "wgs@lemmy.sdf.org"
    +username: "@wgs@lemmy.sdf.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[z3bra.org](https://z3bra.org)"
    +lastActive: DateTime @1709170109 {#1982
      date: 2024-02-29 02:28:29.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
    +entries: Doctrine\ORM\PersistentCollection {#2491 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
    +posts: Doctrine\ORM\PersistentCollection {#2499 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
    +follows: Doctrine\ORM\PersistentCollection {#2511 …}
    +followers: Doctrine\ORM\PersistentCollection {#2513 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
    +reports: Doctrine\ORM\PersistentCollection {#2523 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
    +violations: Doctrine\ORM\PersistentCollection {#2527 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
    +awards: Doctrine\ORM\PersistentCollection {#2531 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
    +categories: Doctrine\ORM\PersistentCollection {#2535 …}
    -id: 10596
    -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
    +apId: "wgs@lemmy.sdf.org"
    +apProfileId: "https://lemmy.sdf.org/u/wgs"
    +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.sdf.org/inbox"
    +apDomain: "lemmy.sdf.org"
    +apPreferredUsername: "wgs"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699763178 {#1979
      date: 2023-11-12 05:26:18.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: DateTime @1706787883 {#1980
      date: 2024-02-01 12:44:43.0 +01:00
    }
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687607117 {#2368
      date: 2023-06-24 13:45:17.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.34 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#12108
  +subject: App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.70 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#12165
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 8.25 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#12405
  +comment: App\Entity\EntryComment {#2375
    +user: App\Entity\User {#1349
      +avatar: Proxies\__CG__\App\Entity\Image {#1351 …}
      +cover: Proxies\__CG__\App\Entity\Image {#1352 …}
      +email: "wgs@lemmy.sdf.org"
      +username: "@wgs@lemmy.sdf.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[z3bra.org](https://z3bra.org)"
      +lastActive: DateTime @1709170109 {#1982
        date: 2024-02-29 02:28:29.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1353 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1358 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1355 …}
      +entries: Doctrine\ORM\PersistentCollection {#2491 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2493 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2495 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2497 …}
      +posts: Doctrine\ORM\PersistentCollection {#2499 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2501 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2503 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2505 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2507 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2509 …}
      +follows: Doctrine\ORM\PersistentCollection {#2511 …}
      +followers: Doctrine\ORM\PersistentCollection {#2513 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2515 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2517 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2519 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2521 …}
      +reports: Doctrine\ORM\PersistentCollection {#2523 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2525 …}
      +violations: Doctrine\ORM\PersistentCollection {#2527 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2529 …}
      +awards: Doctrine\ORM\PersistentCollection {#2531 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2533 …}
      +categories: Doctrine\ORM\PersistentCollection {#2535 …}
      -id: 10596
      -password: "$2y$13$gXjrd0ICFTWY1Og/ptXjhOGTDdd/N15Qz.WEcMZUHvhwc/7up8m/C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2537 …}
      +apId: "wgs@lemmy.sdf.org"
      +apProfileId: "https://lemmy.sdf.org/u/wgs"
      +apPublicUrl: "https://lemmy.sdf.org/u/wgs"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.sdf.org/inbox"
      +apDomain: "lemmy.sdf.org"
      +apPreferredUsername: "wgs"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699763178 {#1979
        date: 2023-11-12 05:26:18.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: DateTime @1706787883 {#1980
        date: 2024-02-01 12:44:43.0 +01:00
      }
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687607117 {#2368
        date: 2023-06-24 13:45:17.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2142
      +user: Proxies\__CG__\App\Entity\User {#11060 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Question-Which-shell-prompt-do-you-use-and-why"
      +title: "[Question] Which shell prompt do you use and why?"
      +url: null
      +body: """
        Hi. I’ve been using [powerlevel10k](https://github.com/romkatv/powerlevel10k) for a long time, but a few days ago, I decided I wanted to customize it a bit. I opened the .p10k.zsh file, and I was shocked. It’s really massive, with TONS of options. I’ve been digging through for a few hours already, and it’s absolutely amazing how much you can customize it without actually programming anything. I was wondering what other people are using. So my questions are:\n
        \n
        - **Do you customize your shell prompt?**\n
        - **If yes, do you use some *framework* or pre-made theme, or do you just configure it the vanilla way in your bashrc/zshrc/…**\n
        - **How is your experiences with it so far?**\n
        - **Share screenshot of your prompts, please**(Sadly, my prompt is currently half done, so I can’t really share it)
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 6
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1698086696 {#11061
        date: 2023-10-23 20:44:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#11066 …}
      +votes: Doctrine\ORM\PersistentCollection {#11069 …}
      +reports: Doctrine\ORM\PersistentCollection {#11071 …}
      +favourites: Doctrine\ORM\PersistentCollection {#11073 …}
      +notifications: Doctrine\ORM\PersistentCollection {#11075 …}
      +badges: Doctrine\ORM\PersistentCollection {#11077 …}
      +children: []
      -id: 9138
      -titleTs: "'prompt':4 'question':1 'shell':3 'use':7"
      -bodyTs: "'/romkatv/powerlevel10k)':9 'absolut':58 'actual':67 'ago':18 'alreadi':54 'amaz':59 'anyth':69 'bashrc/zshrc':111 'bit':27 'configur':104 'current':130 'custom':24,64,84 'day':17 'decid':20 'dig':48 'done':132 'experi':115 'far':119 'file':32 'framework':94 'github.com':8 'github.com/romkatv/powerlevel10k)':7 'half':131 'hi':1 'hour':53 'long':12 'made':98 'massiv':40 'much':61 'open':29 'option':44 'p10k.zsh':31 'peopl':75 'pleas':125 'powerlevel10k':6 'pre':97 'pre-mad':96 'program':68 'prompt':87,124,128 'question':80 'realli':39,137 'sad':126 'screenshot':121 'share':120,138 'shell':86 'shock':36 'theme':99 'time':13 'ton':42 'use':5,77,92 'vanilla':107 've':3,46 'want':22 'way':108 'without':66 'wonder':72 'yes':89"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697935422
      +visibility: "visible             "
      +apId: "https://iusearchlinux.fyi/post/1748513"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697896422 {#11058
        date: 2023-10-21 15:53:42.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’m on the boring side…\n
      \n
      ![](https://lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)\n
      \n
      ```\n
      \n
      <span style="color:#323232;">PS1="% "\n
      </span>\n
      ```\n
      \n
      I like it though, it gives me more room for commands !
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697967185 {#1981
      date: 2023-10-22 11:33:05.0 +02:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@stepanzak@iusearchlinux.fyi"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2373 …}
    +nested: Doctrine\ORM\PersistentCollection {#2376 …}
    +votes: Doctrine\ORM\PersistentCollection {#2365 …}
    +reports: Doctrine\ORM\PersistentCollection {#2366 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2352 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1348 …}
    -id: 87284
    -bodyTs: "'/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':9 'bore':5 'command':21 'give':16 'lemmy.sdf.org':8 'lemmy.sdf.org/pictrs/image/8c7134f6-39df-43d2-a6d4-9b4fb8a4ba5c.png)':7 'like':12 'm':2 'ps1':10 'room':19 'side':6 'though':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.sdf.org/comment/4613896"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697967185 {#1983
      date: 2023-10-22 11:33:05.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 13.79 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#12475
  +comment: App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#2557
    +avatar: null
    +cover: null
    +email: "ClemaX@lemm.ee"
    +username: "@ClemaX@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Software developer interested into security and sustainability."
    +lastActive: DateTime @1705445026 {#2541
      date: 2024-01-16 23:43:46.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
    +entries: Doctrine\ORM\PersistentCollection {#2564 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
    +posts: Doctrine\ORM\PersistentCollection {#2572 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
    +follows: Doctrine\ORM\PersistentCollection {#2584 …}
    +followers: Doctrine\ORM\PersistentCollection {#2586 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
    +reports: Doctrine\ORM\PersistentCollection {#2596 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
    +violations: Doctrine\ORM\PersistentCollection {#2600 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
    +awards: Doctrine\ORM\PersistentCollection {#2604 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
    +categories: Doctrine\ORM\PersistentCollection {#2608 …}
    -id: 25440
    -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
    +apId: "ClemaX@lemm.ee"
    +apProfileId: "https://lemm.ee/u/ClemaX"
    +apPublicUrl: "https://lemm.ee/u/ClemaX"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "ClemaX"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727891913 {#2542
      date: 2024-10-02 19:58:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689191628 {#2543
      date: 2023-07-12 21:53:48.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#12520
  +user: App\Entity\User {#2557
    +avatar: null
    +cover: null
    +email: "ClemaX@lemm.ee"
    +username: "@ClemaX@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Software developer interested into security and sustainability."
    +lastActive: DateTime @1705445026 {#2541
      date: 2024-01-16 23:43:46.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
    +entries: Doctrine\ORM\PersistentCollection {#2564 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
    +posts: Doctrine\ORM\PersistentCollection {#2572 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
    +follows: Doctrine\ORM\PersistentCollection {#2584 …}
    +followers: Doctrine\ORM\PersistentCollection {#2586 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
    +reports: Doctrine\ORM\PersistentCollection {#2596 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
    +violations: Doctrine\ORM\PersistentCollection {#2600 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
    +awards: Doctrine\ORM\PersistentCollection {#2604 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
    +categories: Doctrine\ORM\PersistentCollection {#2608 …}
    -id: 25440
    -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
    +apId: "ClemaX@lemm.ee"
    +apProfileId: "https://lemm.ee/u/ClemaX"
    +apPublicUrl: "https://lemm.ee/u/ClemaX"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "ClemaX"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727891913 {#2542
      date: 2024-10-02 19:58:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689191628 {#2543
      date: 2023-07-12 21:53:48.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.34 ms
Input props
[
  "date" => DateTimeImmutable @1697963449 {#2540
    date: 2023-10-22 10:30:49.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#12575
  +date: DateTimeImmutable @1697963449 {#2540
    date: 2023-10-22 10:30:49.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.08 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697963449 {#2540
    date: 2023-10-22 10:30:49.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#12629
  +createdAt: DateTimeImmutable @1697963449 {#2540
    date: 2023-10-22 10:30:49.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.12 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#12683
  +entry: Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.12 ms
Input props
[
  "user" => App\Entity\User {#2557
    +avatar: null
    +cover: null
    +email: "ClemaX@lemm.ee"
    +username: "@ClemaX@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Software developer interested into security and sustainability."
    +lastActive: DateTime @1705445026 {#2541
      date: 2024-01-16 23:43:46.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
    +entries: Doctrine\ORM\PersistentCollection {#2564 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
    +posts: Doctrine\ORM\PersistentCollection {#2572 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
    +follows: Doctrine\ORM\PersistentCollection {#2584 …}
    +followers: Doctrine\ORM\PersistentCollection {#2586 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
    +reports: Doctrine\ORM\PersistentCollection {#2596 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
    +violations: Doctrine\ORM\PersistentCollection {#2600 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
    +awards: Doctrine\ORM\PersistentCollection {#2604 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
    +categories: Doctrine\ORM\PersistentCollection {#2608 …}
    -id: 25440
    -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
    +apId: "ClemaX@lemm.ee"
    +apProfileId: "https://lemm.ee/u/ClemaX"
    +apPublicUrl: "https://lemm.ee/u/ClemaX"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "ClemaX"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727891913 {#2542
      date: 2024-10-02 19:58:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689191628 {#2543
      date: 2023-07-12 21:53:48.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#12738
  +width: 40
  +height: 40
  +user: App\Entity\User {#2557
    +avatar: null
    +cover: null
    +email: "ClemaX@lemm.ee"
    +username: "@ClemaX@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Software developer interested into security and sustainability."
    +lastActive: DateTime @1705445026 {#2541
      date: 2024-01-16 23:43:46.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: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
    +entries: Doctrine\ORM\PersistentCollection {#2564 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
    +posts: Doctrine\ORM\PersistentCollection {#2572 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
    +follows: Doctrine\ORM\PersistentCollection {#2584 …}
    +followers: Doctrine\ORM\PersistentCollection {#2586 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
    +reports: Doctrine\ORM\PersistentCollection {#2596 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
    +violations: Doctrine\ORM\PersistentCollection {#2600 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
    +awards: Doctrine\ORM\PersistentCollection {#2604 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
    +categories: Doctrine\ORM\PersistentCollection {#2608 …}
    -id: 25440
    -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
    +apId: "ClemaX@lemm.ee"
    +apProfileId: "https://lemm.ee/u/ClemaX"
    +apPublicUrl: "https://lemm.ee/u/ClemaX"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "ClemaX"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727891913 {#2542
      date: 2024-10-02 19:58:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689191628 {#2543
      date: 2023-07-12 21:53:48.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.42 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#12811
  +subject: App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.63 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#12868
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 0.59 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#13108
  +comment: App\Entity\EntryComment {#2544
    +user: App\Entity\User {#2557
      +avatar: null
      +cover: null
      +email: "ClemaX@lemm.ee"
      +username: "@ClemaX@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Software developer interested into security and sustainability."
      +lastActive: DateTime @1705445026 {#2541
        date: 2024-01-16 23:43:46.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: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2558 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2560 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2562 …}
      +entries: Doctrine\ORM\PersistentCollection {#2564 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2566 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2568 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2570 …}
      +posts: Doctrine\ORM\PersistentCollection {#2572 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2574 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2576 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2578 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2580 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2582 …}
      +follows: Doctrine\ORM\PersistentCollection {#2584 …}
      +followers: Doctrine\ORM\PersistentCollection {#2586 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2588 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2590 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2592 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2594 …}
      +reports: Doctrine\ORM\PersistentCollection {#2596 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2598 …}
      +violations: Doctrine\ORM\PersistentCollection {#2600 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2602 …}
      +awards: Doctrine\ORM\PersistentCollection {#2604 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2606 …}
      +categories: Doctrine\ORM\PersistentCollection {#2608 …}
      -id: 25440
      -password: "$2y$13$QgPio6v4hJZaRsgSdY1ikuRYkOQ.acok.mRe8jrg/eToR1.N68PIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2610 …}
      +apId: "ClemaX@lemm.ee"
      +apProfileId: "https://lemm.ee/u/ClemaX"
      +apPublicUrl: "https://lemm.ee/u/ClemaX"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "ClemaX"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727891913 {#2542
        date: 2024-10-02 19:58:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689191628 {#2543
        date: 2023-07-12 21:53:48.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      Maybe Firefox needs to add a new “Clipboard access” permission that can be granted on a site-per-site basis. When disabled, simple highlight and copy could still be enabled if hidden text cannot be added in between normal text.\n
      \n
      The same permission model could be used system wide, but I do not think that such a feature exists on the X server or Wayland. Maybe using a wrapper that runs before the Desktop Environment?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697963449 {#2539
      date: 2023-10-22 10:30:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2545 …}
    +nested: Doctrine\ORM\PersistentCollection {#2547 …}
    +votes: Doctrine\ORM\PersistentCollection {#2549 …}
    +reports: Doctrine\ORM\PersistentCollection {#2551 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2553 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2555 …}
    -id: 232195
    -bodyTs: "'access':9 'ad':37 'add':5 'basi':21 'cannot':35 'clipboard':8 'copi':27 'could':28,46 'desktop':75 'disabl':23 'enabl':31 'environ':76 'exist':60 'featur':59 'firefox':2 'grant':14 'hidden':33 'highlight':25 'mayb':1,67 'model':45 'need':3 'new':7 'normal':40 'per':19 'permiss':10,44 'run':72 'server':64 'simpl':24 'site':18,20 'site-per-sit':17 'still':29 'system':49 'text':34,41 'think':55 'use':48,68 'wayland':66 'wide':50 'wrapper':70 'x':63"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/5172746"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697963449 {#2540
      date: 2023-10-22 10:30:49.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 14.0 MiB 16.71 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#13178
  +comment: App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 12.0 MiB 0.17 ms
Input props
[
  "user" => App\Entity\User {#2630
    +avatar: null
    +cover: null
    +email: "chicken@lemmy.dbzer0.com"
    +username: "@chicken@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728521875 {#2614
      date: 2024-10-10 02:57:55.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 {#2631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
    +entries: Doctrine\ORM\PersistentCollection {#2637 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
    +posts: Doctrine\ORM\PersistentCollection {#2645 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
    +follows: Doctrine\ORM\PersistentCollection {#2657 …}
    +followers: Doctrine\ORM\PersistentCollection {#2659 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
    +reports: Doctrine\ORM\PersistentCollection {#2669 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
    +violations: Doctrine\ORM\PersistentCollection {#2673 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
    +awards: Doctrine\ORM\PersistentCollection {#2677 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
    +categories: Doctrine\ORM\PersistentCollection {#2681 …}
    -id: 24518
    -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
    +apId: "chicken@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "chicken"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729562273 {#2615
      date: 2024-10-22 03:57:53.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689141594 {#2616
      date: 2023-07-12 07:59:54.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#13223
  +user: App\Entity\User {#2630
    +avatar: null
    +cover: null
    +email: "chicken@lemmy.dbzer0.com"
    +username: "@chicken@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728521875 {#2614
      date: 2024-10-10 02:57:55.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 {#2631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
    +entries: Doctrine\ORM\PersistentCollection {#2637 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
    +posts: Doctrine\ORM\PersistentCollection {#2645 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
    +follows: Doctrine\ORM\PersistentCollection {#2657 …}
    +followers: Doctrine\ORM\PersistentCollection {#2659 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
    +reports: Doctrine\ORM\PersistentCollection {#2669 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
    +violations: Doctrine\ORM\PersistentCollection {#2673 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
    +awards: Doctrine\ORM\PersistentCollection {#2677 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
    +categories: Doctrine\ORM\PersistentCollection {#2681 …}
    -id: 24518
    -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
    +apId: "chicken@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "chicken"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729562273 {#2615
      date: 2024-10-22 03:57:53.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689141594 {#2616
      date: 2023-07-12 07:59:54.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697943426 {#2613
    date: 2023-10-22 04:57:06.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#13278
  +date: DateTimeImmutable @1697943426 {#2613
    date: 2023-10-22 04:57:06.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697943426 {#2613
    date: 2023-10-22 04:57:06.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#13332
  +createdAt: DateTimeImmutable @1697943426 {#2613
    date: 2023-10-22 04:57:06.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 12.0 MiB 0.13 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#13386
  +entry: Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.12 ms
Input props
[
  "user" => App\Entity\User {#2630
    +avatar: null
    +cover: null
    +email: "chicken@lemmy.dbzer0.com"
    +username: "@chicken@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728521875 {#2614
      date: 2024-10-10 02:57:55.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 {#2631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
    +entries: Doctrine\ORM\PersistentCollection {#2637 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
    +posts: Doctrine\ORM\PersistentCollection {#2645 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
    +follows: Doctrine\ORM\PersistentCollection {#2657 …}
    +followers: Doctrine\ORM\PersistentCollection {#2659 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
    +reports: Doctrine\ORM\PersistentCollection {#2669 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
    +violations: Doctrine\ORM\PersistentCollection {#2673 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
    +awards: Doctrine\ORM\PersistentCollection {#2677 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
    +categories: Doctrine\ORM\PersistentCollection {#2681 …}
    -id: 24518
    -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
    +apId: "chicken@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "chicken"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729562273 {#2615
      date: 2024-10-22 03:57:53.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689141594 {#2616
      date: 2023-07-12 07:59:54.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#13441
  +width: 40
  +height: 40
  +user: App\Entity\User {#2630
    +avatar: null
    +cover: null
    +email: "chicken@lemmy.dbzer0.com"
    +username: "@chicken@lemmy.dbzer0.com"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728521875 {#2614
      date: 2024-10-10 02:57:55.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 {#2631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
    +entries: Doctrine\ORM\PersistentCollection {#2637 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
    +posts: Doctrine\ORM\PersistentCollection {#2645 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
    +follows: Doctrine\ORM\PersistentCollection {#2657 …}
    +followers: Doctrine\ORM\PersistentCollection {#2659 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
    +reports: Doctrine\ORM\PersistentCollection {#2669 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
    +violations: Doctrine\ORM\PersistentCollection {#2673 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
    +awards: Doctrine\ORM\PersistentCollection {#2677 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
    +categories: Doctrine\ORM\PersistentCollection {#2681 …}
    -id: 24518
    -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
    +apId: "chicken@lemmy.dbzer0.com"
    +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
    +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
    +apDomain: "lemmy.dbzer0.com"
    +apPreferredUsername: "chicken"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729562273 {#2615
      date: 2024-10-22 03:57:53.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689141594 {#2616
      date: 2023-07-12 07:59:54.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.40 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#13516
  +subject: App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 0.84 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#13573
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 14.0 MiB 1.00 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#13813
  +comment: App\Entity\EntryComment {#2617
    +user: App\Entity\User {#2630
      +avatar: null
      +cover: null
      +email: "chicken@lemmy.dbzer0.com"
      +username: "@chicken@lemmy.dbzer0.com"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728521875 {#2614
        date: 2024-10-10 02:57:55.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 {#2631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2633 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2635 …}
      +entries: Doctrine\ORM\PersistentCollection {#2637 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2639 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2641 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2643 …}
      +posts: Doctrine\ORM\PersistentCollection {#2645 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2647 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2649 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2651 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2653 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2655 …}
      +follows: Doctrine\ORM\PersistentCollection {#2657 …}
      +followers: Doctrine\ORM\PersistentCollection {#2659 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2661 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2663 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2665 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2667 …}
      +reports: Doctrine\ORM\PersistentCollection {#2669 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2671 …}
      +violations: Doctrine\ORM\PersistentCollection {#2673 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2675 …}
      +awards: Doctrine\ORM\PersistentCollection {#2677 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2679 …}
      +categories: Doctrine\ORM\PersistentCollection {#2681 …}
      -id: 24518
      -password: "$2y$13$1yu9adlUjuRjcUSWRw3gje6wKqrOYDDkQYwIAwEiSbwcXppeJREPK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2683 …}
      +apId: "chicken@lemmy.dbzer0.com"
      +apProfileId: "https://lemmy.dbzer0.com/u/chicken"
      +apPublicUrl: "https://lemmy.dbzer0.com/u/chicken"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.dbzer0.com/inbox"
      +apDomain: "lemmy.dbzer0.com"
      +apPreferredUsername: "chicken"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729562273 {#2615
        date: 2024-10-22 03:57:53.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689141594 {#2616
        date: 2023-07-12 07:59:54.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > this is not a real security issue\n
      \n
      This could be a huge security issue for anyone doing cryptocurrency stuff
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697943426 {#2612
      date: 2023-10-22 04:57:06.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2618 …}
    +nested: Doctrine\ORM\PersistentCollection {#2620 …}
    +votes: Doctrine\ORM\PersistentCollection {#2622 …}
    +reports: Doctrine\ORM\PersistentCollection {#2624 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2626 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2628 …}
    -id: 232272
    -bodyTs: "'anyon':16 'could':9 'cryptocurr':18 'huge':12 'issu':7,14 'real':5 'secur':6,13 'stuff':19"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/4374073"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697943426 {#2613
      date: 2023-10-22 04:57:06.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 14.0 MiB 31.49 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#13883
  +comment: App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 14.0 MiB 0.25 ms
Input props
[
  "user" => App\Entity\User {#2704
    +avatar: null
    +cover: null
    +email: "Whatnot@kbin.social"
    +username: "@Whatnot@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1699469819 {#2687
      date: 2023-11-08 19:56:59.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 {#2705 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
    +entries: Doctrine\ORM\PersistentCollection {#2711 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
    +posts: Doctrine\ORM\PersistentCollection {#2719 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
    +follows: Doctrine\ORM\PersistentCollection {#2731 …}
    +followers: Doctrine\ORM\PersistentCollection {#2733 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
    +reports: Doctrine\ORM\PersistentCollection {#2743 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
    +violations: Doctrine\ORM\PersistentCollection {#2747 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
    +awards: Doctrine\ORM\PersistentCollection {#2751 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
    +categories: Doctrine\ORM\PersistentCollection {#2755 …}
    -id: 73219
    -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
    +apId: "Whatnot@kbin.social"
    +apProfileId: "https://kbin.social/u/Whatnot"
    +apPublicUrl: "https://kbin.social/u/Whatnot"
    +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "Whatnot"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699469819 {#2688
      date: 2023-11-08 19:56:59.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699469818 {#2689
      date: 2023-11-08 19:56:58.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#13946
  +user: App\Entity\User {#2704
    +avatar: null
    +cover: null
    +email: "Whatnot@kbin.social"
    +username: "@Whatnot@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1699469819 {#2687
      date: 2023-11-08 19:56:59.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 {#2705 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
    +entries: Doctrine\ORM\PersistentCollection {#2711 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
    +posts: Doctrine\ORM\PersistentCollection {#2719 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
    +follows: Doctrine\ORM\PersistentCollection {#2731 …}
    +followers: Doctrine\ORM\PersistentCollection {#2733 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
    +reports: Doctrine\ORM\PersistentCollection {#2743 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
    +violations: Doctrine\ORM\PersistentCollection {#2747 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
    +awards: Doctrine\ORM\PersistentCollection {#2751 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
    +categories: Doctrine\ORM\PersistentCollection {#2755 …}
    -id: 73219
    -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
    +apId: "Whatnot@kbin.social"
    +apProfileId: "https://kbin.social/u/Whatnot"
    +apPublicUrl: "https://kbin.social/u/Whatnot"
    +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "Whatnot"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699469819 {#2688
      date: 2023-11-08 19:56:59.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699469818 {#2689
      date: 2023-11-08 19:56:58.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.21 ms
Input props
[
  "date" => DateTimeImmutable @1697923761 {#2686
    date: 2023-10-21 23:29:21.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#14001
  +date: DateTimeImmutable @1697923761 {#2686
    date: 2023-10-21 23:29:21.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.14 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697923761 {#2686
    date: 2023-10-21 23:29:21.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#14055
  +createdAt: DateTimeImmutable @1697923761 {#2686
    date: 2023-10-21 23:29:21.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 14.0 MiB 0.19 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2691
    +user: Proxies\__CG__\App\Entity\User {#13920 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Help-me-choose-a-distro-please"
    +title: "Help me choose a distro, please!"
    +url: null
    +body: """
      I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
      \n
      #### About Me\n
      \n
      I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
      \n
      #### Planned Usage\n
      \n
      I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
      \n
      #### What I’m Looking For\n
      \n
      I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
      \n
      Last bit. Open source is rather important to me. I prefer free and free.\n
      \n
      Anyone have good suggestions??\n
      \n
      #### Edit\n
      \n
      I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
      \n
      #### Edit 2: Hardware Info\n
      \n
      I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
      \n
      - AMD Ryzen 7 5800X Processor\n
      - NVIDIA GeForce RTX 3070\n
      - 16GB DDR4 3200 MHz RAM\n
      \n
      #### Edit 3\n
      \n
      It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
      \n
      Thanks for all the input all! Wonderful crowd here!!!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 4
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697984571 {#13921
      date: 2023-10-22 16:22:51.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#13926 …}
    +votes: Doctrine\ORM\PersistentCollection {#13929 …}
    +reports: Doctrine\ORM\PersistentCollection {#13931 …}
    +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
    +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
    +badges: Doctrine\ORM\PersistentCollection {#13937 …}
    +children: []
    -id: 9651
    -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
    -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697945847
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4712919"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697919847 {#13918
      date: 2023-10-21 22:24:07.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#14109
  +entry: Proxies\__CG__\App\Entity\Entry {#2691
    +user: Proxies\__CG__\App\Entity\User {#13920 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Help-me-choose-a-distro-please"
    +title: "Help me choose a distro, please!"
    +url: null
    +body: """
      I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
      \n
      #### About Me\n
      \n
      I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
      \n
      #### Planned Usage\n
      \n
      I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
      \n
      #### What I’m Looking For\n
      \n
      I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
      \n
      Last bit. Open source is rather important to me. I prefer free and free.\n
      \n
      Anyone have good suggestions??\n
      \n
      #### Edit\n
      \n
      I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
      \n
      #### Edit 2: Hardware Info\n
      \n
      I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
      \n
      - AMD Ryzen 7 5800X Processor\n
      - NVIDIA GeForce RTX 3070\n
      - 16GB DDR4 3200 MHz RAM\n
      \n
      #### Edit 3\n
      \n
      It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
      \n
      Thanks for all the input all! Wonderful crowd here!!!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 4
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697984571 {#13921
      date: 2023-10-22 16:22:51.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#13926 …}
    +votes: Doctrine\ORM\PersistentCollection {#13929 …}
    +reports: Doctrine\ORM\PersistentCollection {#13931 …}
    +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
    +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
    +badges: Doctrine\ORM\PersistentCollection {#13937 …}
    +children: []
    -id: 9651
    -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
    -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697945847
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4712919"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697919847 {#13918
      date: 2023-10-21 22:24:07.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.22 ms
Input props
[
  "user" => App\Entity\User {#2704
    +avatar: null
    +cover: null
    +email: "Whatnot@kbin.social"
    +username: "@Whatnot@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1699469819 {#2687
      date: 2023-11-08 19:56:59.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 {#2705 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
    +entries: Doctrine\ORM\PersistentCollection {#2711 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
    +posts: Doctrine\ORM\PersistentCollection {#2719 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
    +follows: Doctrine\ORM\PersistentCollection {#2731 …}
    +followers: Doctrine\ORM\PersistentCollection {#2733 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
    +reports: Doctrine\ORM\PersistentCollection {#2743 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
    +violations: Doctrine\ORM\PersistentCollection {#2747 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
    +awards: Doctrine\ORM\PersistentCollection {#2751 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
    +categories: Doctrine\ORM\PersistentCollection {#2755 …}
    -id: 73219
    -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
    +apId: "Whatnot@kbin.social"
    +apProfileId: "https://kbin.social/u/Whatnot"
    +apPublicUrl: "https://kbin.social/u/Whatnot"
    +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "Whatnot"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699469819 {#2688
      date: 2023-11-08 19:56:59.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699469818 {#2689
      date: 2023-11-08 19:56:58.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#14164
  +width: 40
  +height: 40
  +user: App\Entity\User {#2704
    +avatar: null
    +cover: null
    +email: "Whatnot@kbin.social"
    +username: "@Whatnot@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1699469819 {#2687
      date: 2023-11-08 19:56:59.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 {#2705 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
    +entries: Doctrine\ORM\PersistentCollection {#2711 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
    +posts: Doctrine\ORM\PersistentCollection {#2719 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
    +follows: Doctrine\ORM\PersistentCollection {#2731 …}
    +followers: Doctrine\ORM\PersistentCollection {#2733 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
    +reports: Doctrine\ORM\PersistentCollection {#2743 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
    +violations: Doctrine\ORM\PersistentCollection {#2747 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
    +awards: Doctrine\ORM\PersistentCollection {#2751 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
    +categories: Doctrine\ORM\PersistentCollection {#2755 …}
    -id: 73219
    -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
    +apId: "Whatnot@kbin.social"
    +apProfileId: "https://kbin.social/u/Whatnot"
    +apPublicUrl: "https://kbin.social/u/Whatnot"
    +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "Whatnot"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699469819 {#2688
      date: 2023-11-08 19:56:59.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699469818 {#2689
      date: 2023-11-08 19:56:58.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.70 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#14233
  +subject: App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 1.19 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#11375
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 14.0 MiB 0.85 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#14320
  +comment: App\Entity\EntryComment {#2690
    +user: App\Entity\User {#2704
      +avatar: null
      +cover: null
      +email: "Whatnot@kbin.social"
      +username: "@Whatnot@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1699469819 {#2687
        date: 2023-11-08 19:56:59.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 {#2705 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2707 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2709 …}
      +entries: Doctrine\ORM\PersistentCollection {#2711 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2713 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2715 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2717 …}
      +posts: Doctrine\ORM\PersistentCollection {#2719 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2721 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2723 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2725 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2727 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2729 …}
      +follows: Doctrine\ORM\PersistentCollection {#2731 …}
      +followers: Doctrine\ORM\PersistentCollection {#2733 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2735 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2737 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2739 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2741 …}
      +reports: Doctrine\ORM\PersistentCollection {#2743 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2745 …}
      +violations: Doctrine\ORM\PersistentCollection {#2747 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2749 …}
      +awards: Doctrine\ORM\PersistentCollection {#2751 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2753 …}
      +categories: Doctrine\ORM\PersistentCollection {#2755 …}
      -id: 73219
      -password: "$2y$13$2DizCKi.8anE2t0bEGm7ZOtRWCQtLuEv8TykNlYavMLffpN6dLoTO"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2757 …}
      +apId: "Whatnot@kbin.social"
      +apProfileId: "https://kbin.social/u/Whatnot"
      +apPublicUrl: "https://kbin.social/u/Whatnot"
      +apFollowersUrl: "https://kbin.social/u/Whatnot/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "Whatnot"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1699469819 {#2688
        date: 2023-11-08 19:56:59.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699469818 {#2689
        date: 2023-11-08 19:56:58.0 +01:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "I’m a beginner Linux user, without background in informatics, but after trying many distro, Ubuntu, Ark, Manjaro… the easiest to maintain and work as needed is Debian for me."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697923761 {#2685
      date: 2023-10-21 23:29:21.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2692 …}
    +nested: Doctrine\ORM\PersistentCollection {#2694 …}
    +votes: Doctrine\ORM\PersistentCollection {#2696 …}
    +reports: Doctrine\ORM\PersistentCollection {#2698 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2700 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2702 …}
    -id: 100860
    -bodyTs: "'ark':17 'background':8 'beginn':4 'debian':28 'distro':15 'easiest':20 'informat':10 'linux':5 'm':2 'maintain':22 'mani':14 'manjaro':18 'need':26 'tri':13 'ubuntu':16 'user':6 'without':7 'work':24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/558988/-/comment/3097022"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697923761 {#2686
      date: 2023-10-21 23:29:21.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 14.0 MiB 13.57 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#14390
  +comment: App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 14.0 MiB 0.16 ms
Input props
[
  "user" => App\Entity\User {#2777
    +avatar: null
    +cover: null
    +email: "lemmyvore@feddit.nl"
    +username: "@lemmyvore@feddit.nl"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729583542 {#2761
      date: 2024-10-22 09:52:22.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 {#2778 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
    +entries: Doctrine\ORM\PersistentCollection {#2784 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
    +posts: Doctrine\ORM\PersistentCollection {#2792 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
    +follows: Doctrine\ORM\PersistentCollection {#2804 …}
    +followers: Doctrine\ORM\PersistentCollection {#2806 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
    +reports: Doctrine\ORM\PersistentCollection {#2816 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
    +violations: Doctrine\ORM\PersistentCollection {#2820 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
    +awards: Doctrine\ORM\PersistentCollection {#2824 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
    +categories: Doctrine\ORM\PersistentCollection {#2828 …}
    -id: 5129
    -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
    +apId: "lemmyvore@feddit.nl"
    +apProfileId: "https://feddit.nl/u/lemmyvore"
    +apPublicUrl: "https://feddit.nl/u/lemmyvore"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.nl/inbox"
    +apDomain: "feddit.nl"
    +apPreferredUsername: "lemmyvore"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728642128 {#2762
      date: 2024-10-11 12:22:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687169920 {#2763
      date: 2023-06-19 12:18:40.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#14435
  +user: App\Entity\User {#2777
    +avatar: null
    +cover: null
    +email: "lemmyvore@feddit.nl"
    +username: "@lemmyvore@feddit.nl"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729583542 {#2761
      date: 2024-10-22 09:52:22.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 {#2778 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
    +entries: Doctrine\ORM\PersistentCollection {#2784 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
    +posts: Doctrine\ORM\PersistentCollection {#2792 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
    +follows: Doctrine\ORM\PersistentCollection {#2804 …}
    +followers: Doctrine\ORM\PersistentCollection {#2806 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
    +reports: Doctrine\ORM\PersistentCollection {#2816 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
    +violations: Doctrine\ORM\PersistentCollection {#2820 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
    +awards: Doctrine\ORM\PersistentCollection {#2824 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
    +categories: Doctrine\ORM\PersistentCollection {#2828 …}
    -id: 5129
    -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
    +apId: "lemmyvore@feddit.nl"
    +apProfileId: "https://feddit.nl/u/lemmyvore"
    +apPublicUrl: "https://feddit.nl/u/lemmyvore"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.nl/inbox"
    +apDomain: "feddit.nl"
    +apPreferredUsername: "lemmyvore"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728642128 {#2762
      date: 2024-10-11 12:22:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687169920 {#2763
      date: 2023-06-19 12:18:40.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697920694 {#2760
    date: 2023-10-21 22:38:14.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#14490
  +date: DateTimeImmutable @1697920694 {#2760
    date: 2023-10-21 22:38:14.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.13 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697920694 {#2760
    date: 2023-10-21 22:38:14.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#14544
  +createdAt: DateTimeImmutable @1697920694 {#2760
    date: 2023-10-21 22:38:14.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 14.0 MiB 0.13 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#14598
  +entry: Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.12 ms
Input props
[
  "user" => App\Entity\User {#2777
    +avatar: null
    +cover: null
    +email: "lemmyvore@feddit.nl"
    +username: "@lemmyvore@feddit.nl"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729583542 {#2761
      date: 2024-10-22 09:52:22.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 {#2778 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
    +entries: Doctrine\ORM\PersistentCollection {#2784 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
    +posts: Doctrine\ORM\PersistentCollection {#2792 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
    +follows: Doctrine\ORM\PersistentCollection {#2804 …}
    +followers: Doctrine\ORM\PersistentCollection {#2806 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
    +reports: Doctrine\ORM\PersistentCollection {#2816 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
    +violations: Doctrine\ORM\PersistentCollection {#2820 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
    +awards: Doctrine\ORM\PersistentCollection {#2824 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
    +categories: Doctrine\ORM\PersistentCollection {#2828 …}
    -id: 5129
    -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
    +apId: "lemmyvore@feddit.nl"
    +apProfileId: "https://feddit.nl/u/lemmyvore"
    +apPublicUrl: "https://feddit.nl/u/lemmyvore"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.nl/inbox"
    +apDomain: "feddit.nl"
    +apPreferredUsername: "lemmyvore"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728642128 {#2762
      date: 2024-10-11 12:22:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687169920 {#2763
      date: 2023-06-19 12:18:40.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#14653
  +width: 40
  +height: 40
  +user: App\Entity\User {#2777
    +avatar: null
    +cover: null
    +email: "lemmyvore@feddit.nl"
    +username: "@lemmyvore@feddit.nl"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729583542 {#2761
      date: 2024-10-22 09:52:22.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 {#2778 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
    +entries: Doctrine\ORM\PersistentCollection {#2784 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
    +posts: Doctrine\ORM\PersistentCollection {#2792 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
    +follows: Doctrine\ORM\PersistentCollection {#2804 …}
    +followers: Doctrine\ORM\PersistentCollection {#2806 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
    +reports: Doctrine\ORM\PersistentCollection {#2816 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
    +violations: Doctrine\ORM\PersistentCollection {#2820 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
    +awards: Doctrine\ORM\PersistentCollection {#2824 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
    +categories: Doctrine\ORM\PersistentCollection {#2828 …}
    -id: 5129
    -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
    +apId: "lemmyvore@feddit.nl"
    +apProfileId: "https://feddit.nl/u/lemmyvore"
    +apPublicUrl: "https://feddit.nl/u/lemmyvore"
    +apFollowersUrl: null
    +apInboxUrl: "https://feddit.nl/inbox"
    +apDomain: "feddit.nl"
    +apPreferredUsername: "lemmyvore"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728642128 {#2762
      date: 2024-10-11 12:22:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687169920 {#2763
      date: 2023-06-19 12:18:40.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#14736
  +subject: App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 3.70 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#14793
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 14.0 MiB 3.65 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#15033
  +comment: App\Entity\EntryComment {#2764
    +user: App\Entity\User {#2777
      +avatar: null
      +cover: null
      +email: "lemmyvore@feddit.nl"
      +username: "@lemmyvore@feddit.nl"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729583542 {#2761
        date: 2024-10-22 09:52:22.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 {#2778 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2780 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2782 …}
      +entries: Doctrine\ORM\PersistentCollection {#2784 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2786 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2788 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2790 …}
      +posts: Doctrine\ORM\PersistentCollection {#2792 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2794 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2796 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2798 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2800 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2802 …}
      +follows: Doctrine\ORM\PersistentCollection {#2804 …}
      +followers: Doctrine\ORM\PersistentCollection {#2806 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2808 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2812 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2814 …}
      +reports: Doctrine\ORM\PersistentCollection {#2816 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2818 …}
      +violations: Doctrine\ORM\PersistentCollection {#2820 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2822 …}
      +awards: Doctrine\ORM\PersistentCollection {#2824 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2826 …}
      +categories: Doctrine\ORM\PersistentCollection {#2828 …}
      -id: 5129
      -password: "$2y$13$/vteljm8CiRSKlQjOelDZefgFTbMgXd9zTn7W2zbMetE/IgF5X85q"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2830 …}
      +apId: "lemmyvore@feddit.nl"
      +apProfileId: "https://feddit.nl/u/lemmyvore"
      +apPublicUrl: "https://feddit.nl/u/lemmyvore"
      +apFollowersUrl: null
      +apInboxUrl: "https://feddit.nl/inbox"
      +apDomain: "feddit.nl"
      +apPreferredUsername: "lemmyvore"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728642128 {#2762
        date: 2024-10-11 12:22:08.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687169920 {#2763
        date: 2023-06-19 12:18:40.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      There’s one tiny little problem with the hijack scenario – people only ever paste from the primary selection immediately after selecting something themselves (and thus overwriting whatever was in there). That’s precisely *because* the primary selection is so easy to overwrite (basically when you select anything), so you want to select and then immediately paste so you don’t lose it.\n
      \n
      So in reality this scenario in which a random page injects something in the primary selection and the user pastes it sometime later in a terminal, of all things, probably has like a million to one chance of occuring.\n
      \n
      PS: Also, just for trivia, any user who’s been around the console for a while will hit Ctrl+C out of reflex when confronted with unexpected output, not Enter.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920694 {#2759
      date: 2023-10-21 22:38:14.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2765 …}
    +nested: Doctrine\ORM\PersistentCollection {#2767 …}
    +votes: Doctrine\ORM\PersistentCollection {#2769 …}
    +reports: Doctrine\ORM\PersistentCollection {#2771 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2773 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2775 …}
    -id: 232095
    -bodyTs: "'also':103 'anyth':47 'around':112 'basic':43 'c':121 'chanc':99 'confront':126 'consol':114 'ctrl':120 'easi':40 'enter':131 'ever':13 'hijack':9 'hit':119 'immedi':19,55 'inject':73 'later':85 'like':94 'littl':5 'lose':61 'million':96 'occur':101 'one':3,98 'output':129 'overwrit':26,42 'page':72 'past':14,56,82 'peopl':11 'precis':33 'primari':17,36,77 'probabl':92 'problem':6 'ps':102 'random':71 'realiti':65 'reflex':124 'scenario':10,67 'select':18,21,37,46,52,78 'someth':22,74 'sometim':84 'termin':88 'thing':91 'thus':25 'tini':4 'trivia':106 'unexpect':128 'user':81,108 'want':50 'whatev':27"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.nl/comment/3922498"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920694 {#2760
      date: 2023-10-21 22:38:14.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 14.0 MiB 9.86 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#15103
  +comment: App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 14.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#2850
    +avatar: null
    +cover: null
    +email: "muhyb@programming.dev"
    +username: "@muhyb@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728147418 {#2834
      date: 2024-10-05 18:56:58.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 {#2851 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
    +entries: Doctrine\ORM\PersistentCollection {#2857 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
    +posts: Doctrine\ORM\PersistentCollection {#2865 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
    +follows: Doctrine\ORM\PersistentCollection {#2877 …}
    +followers: Doctrine\ORM\PersistentCollection {#2879 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
    +reports: Doctrine\ORM\PersistentCollection {#2889 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
    +violations: Doctrine\ORM\PersistentCollection {#2893 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
    +awards: Doctrine\ORM\PersistentCollection {#2897 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
    +categories: Doctrine\ORM\PersistentCollection {#2901 …}
    -id: 48574
    -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
    +apId: "muhyb@programming.dev"
    +apProfileId: "https://programming.dev/u/muhyb"
    +apPublicUrl: "https://programming.dev/u/muhyb"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "muhyb"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728908675 {#2835
      date: 2024-10-14 14:24:35.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696433311 {#2836
      date: 2023-10-04 17:28:31.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#15148
  +user: App\Entity\User {#2850
    +avatar: null
    +cover: null
    +email: "muhyb@programming.dev"
    +username: "@muhyb@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728147418 {#2834
      date: 2024-10-05 18:56:58.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 {#2851 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
    +entries: Doctrine\ORM\PersistentCollection {#2857 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
    +posts: Doctrine\ORM\PersistentCollection {#2865 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
    +follows: Doctrine\ORM\PersistentCollection {#2877 …}
    +followers: Doctrine\ORM\PersistentCollection {#2879 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
    +reports: Doctrine\ORM\PersistentCollection {#2889 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
    +violations: Doctrine\ORM\PersistentCollection {#2893 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
    +awards: Doctrine\ORM\PersistentCollection {#2897 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
    +categories: Doctrine\ORM\PersistentCollection {#2901 …}
    -id: 48574
    -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
    +apId: "muhyb@programming.dev"
    +apProfileId: "https://programming.dev/u/muhyb"
    +apPublicUrl: "https://programming.dev/u/muhyb"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "muhyb"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728908675 {#2835
      date: 2024-10-14 14:24:35.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696433311 {#2836
      date: 2023-10-04 17:28:31.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1697920538 {#2833
    date: 2023-10-21 22:35:38.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#15203
  +date: DateTimeImmutable @1697920538 {#2833
    date: 2023-10-21 22:35:38.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697920538 {#2833
    date: 2023-10-21 22:35:38.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#15257
  +createdAt: DateTimeImmutable @1697920538 {#2833
    date: 2023-10-21 22:35:38.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 14.0 MiB 0.14 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2691
    +user: Proxies\__CG__\App\Entity\User {#13920 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Help-me-choose-a-distro-please"
    +title: "Help me choose a distro, please!"
    +url: null
    +body: """
      I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
      \n
      #### About Me\n
      \n
      I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
      \n
      #### Planned Usage\n
      \n
      I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
      \n
      #### What I’m Looking For\n
      \n
      I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
      \n
      Last bit. Open source is rather important to me. I prefer free and free.\n
      \n
      Anyone have good suggestions??\n
      \n
      #### Edit\n
      \n
      I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
      \n
      #### Edit 2: Hardware Info\n
      \n
      I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
      \n
      - AMD Ryzen 7 5800X Processor\n
      - NVIDIA GeForce RTX 3070\n
      - 16GB DDR4 3200 MHz RAM\n
      \n
      #### Edit 3\n
      \n
      It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
      \n
      Thanks for all the input all! Wonderful crowd here!!!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 4
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697984571 {#13921
      date: 2023-10-22 16:22:51.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#13926 …}
    +votes: Doctrine\ORM\PersistentCollection {#13929 …}
    +reports: Doctrine\ORM\PersistentCollection {#13931 …}
    +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
    +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
    +badges: Doctrine\ORM\PersistentCollection {#13937 …}
    +children: []
    -id: 9651
    -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
    -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697945847
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4712919"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697919847 {#13918
      date: 2023-10-21 22:24:07.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#15311
  +entry: Proxies\__CG__\App\Entity\Entry {#2691
    +user: Proxies\__CG__\App\Entity\User {#13920 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
    +slug: "Help-me-choose-a-distro-please"
    +title: "Help me choose a distro, please!"
    +url: null
    +body: """
      I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
      \n
      #### About Me\n
      \n
      I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
      \n
      #### Planned Usage\n
      \n
      I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
      \n
      #### What I’m Looking For\n
      \n
      I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
      \n
      Last bit. Open source is rather important to me. I prefer free and free.\n
      \n
      Anyone have good suggestions??\n
      \n
      #### Edit\n
      \n
      I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
      \n
      #### Edit 2: Hardware Info\n
      \n
      I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
      \n
      - AMD Ryzen 7 5800X Processor\n
      - NVIDIA GeForce RTX 3070\n
      - 16GB DDR4 3200 MHz RAM\n
      \n
      #### Edit 3\n
      \n
      It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
      \n
      Thanks for all the input all! Wonderful crowd here!!!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 4
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697984571 {#13921
      date: 2023-10-22 16:22:51.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#13926 …}
    +votes: Doctrine\ORM\PersistentCollection {#13929 …}
    +reports: Doctrine\ORM\PersistentCollection {#13931 …}
    +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
    +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
    +badges: Doctrine\ORM\PersistentCollection {#13937 …}
    +children: []
    -id: 9651
    -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
    -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697945847
    +visibility: "visible             "
    +apId: "https://programming.dev/post/4712919"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697919847 {#13918
      date: 2023-10-21 22:24:07.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.13 ms
Input props
[
  "user" => App\Entity\User {#2850
    +avatar: null
    +cover: null
    +email: "muhyb@programming.dev"
    +username: "@muhyb@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728147418 {#2834
      date: 2024-10-05 18:56:58.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 {#2851 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
    +entries: Doctrine\ORM\PersistentCollection {#2857 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
    +posts: Doctrine\ORM\PersistentCollection {#2865 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
    +follows: Doctrine\ORM\PersistentCollection {#2877 …}
    +followers: Doctrine\ORM\PersistentCollection {#2879 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
    +reports: Doctrine\ORM\PersistentCollection {#2889 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
    +violations: Doctrine\ORM\PersistentCollection {#2893 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
    +awards: Doctrine\ORM\PersistentCollection {#2897 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
    +categories: Doctrine\ORM\PersistentCollection {#2901 …}
    -id: 48574
    -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
    +apId: "muhyb@programming.dev"
    +apProfileId: "https://programming.dev/u/muhyb"
    +apPublicUrl: "https://programming.dev/u/muhyb"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "muhyb"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728908675 {#2835
      date: 2024-10-14 14:24:35.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696433311 {#2836
      date: 2023-10-04 17:28:31.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#15366
  +width: 40
  +height: 40
  +user: App\Entity\User {#2850
    +avatar: null
    +cover: null
    +email: "muhyb@programming.dev"
    +username: "@muhyb@programming.dev"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728147418 {#2834
      date: 2024-10-05 18:56:58.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 {#2851 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
    +entries: Doctrine\ORM\PersistentCollection {#2857 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
    +posts: Doctrine\ORM\PersistentCollection {#2865 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
    +follows: Doctrine\ORM\PersistentCollection {#2877 …}
    +followers: Doctrine\ORM\PersistentCollection {#2879 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
    +reports: Doctrine\ORM\PersistentCollection {#2889 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
    +violations: Doctrine\ORM\PersistentCollection {#2893 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
    +awards: Doctrine\ORM\PersistentCollection {#2897 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
    +categories: Doctrine\ORM\PersistentCollection {#2901 …}
    -id: 48574
    -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
    +apId: "muhyb@programming.dev"
    +apProfileId: "https://programming.dev/u/muhyb"
    +apPublicUrl: "https://programming.dev/u/muhyb"
    +apFollowersUrl: null
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "muhyb"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728908675 {#2835
      date: 2024-10-14 14:24:35.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696433311 {#2836
      date: 2023-10-04 17:28:31.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.35 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#15435
  +subject: App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 0.68 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#15492
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 14.0 MiB 0.73 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#15732
  +comment: App\Entity\EntryComment {#2837
    +user: App\Entity\User {#2850
      +avatar: null
      +cover: null
      +email: "muhyb@programming.dev"
      +username: "@muhyb@programming.dev"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728147418 {#2834
        date: 2024-10-05 18:56:58.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 {#2851 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2853 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2855 …}
      +entries: Doctrine\ORM\PersistentCollection {#2857 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2859 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2861 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2863 …}
      +posts: Doctrine\ORM\PersistentCollection {#2865 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2867 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2869 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2871 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2873 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2875 …}
      +follows: Doctrine\ORM\PersistentCollection {#2877 …}
      +followers: Doctrine\ORM\PersistentCollection {#2879 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2881 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2883 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2885 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2887 …}
      +reports: Doctrine\ORM\PersistentCollection {#2889 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2891 …}
      +violations: Doctrine\ORM\PersistentCollection {#2893 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2895 …}
      +awards: Doctrine\ORM\PersistentCollection {#2897 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2899 …}
      +categories: Doctrine\ORM\PersistentCollection {#2901 …}
      -id: 48574
      -password: "$2y$13$8eGVmSib1OVueA6dwW7XJevcHO6ZomdRzNEJ1cfmJMH295Qva4A7C"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2903 …}
      +apId: "muhyb@programming.dev"
      +apProfileId: "https://programming.dev/u/muhyb"
      +apPublicUrl: "https://programming.dev/u/muhyb"
      +apFollowersUrl: null
      +apInboxUrl: "https://programming.dev/inbox"
      +apDomain: "programming.dev"
      +apPreferredUsername: "muhyb"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728908675 {#2835
        date: 2024-10-14 14:24:35.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696433311 {#2836
        date: 2023-10-04 17:28:31.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2691
      +user: Proxies\__CG__\App\Entity\User {#13920 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#6967 …}
      +slug: "Help-me-choose-a-distro-please"
      +title: "Help me choose a distro, please!"
      +url: null
      +body: """
        I’m ditching Windows in favor of Linux on my personal desktop. And so I’m looking for advice on which distro I should start with.\n
        \n
        #### About Me\n
        \n
        I use Linux professionally all the time but mostly to build ci/cd pipelines and for software development/operations. I’ve never been a Linux admin nor have I ever chosen the distro I use. I’m generally comfortable using Linux and digging into configs/issues as needed.\n
        \n
        #### Planned Usage\n
        \n
        I use this machine for typical home usage: Firefox, a notes app (currently Notesnook), maybe office style tools like word and excel. I also use this for gaming: Steam, Discord, etc. Lastly and least important, I use this for a small amount of dev work: VSCode, various languages, possibly running containers.\n
        \n
        #### What I’m Looking For\n
        \n
        I’d like an OS that’s highly configurable but ships with good default settings and requires very little effort to start using. I don’t want it to ship with loads of applications; I want to choose and install all of the higher level tools. Shipping with a configured desktop is perfectly fine but not required. Ideally, I can have all of this while still keeping the maintenance low. I think that means a stable OS, a good package manager, stable/automatic updates, etc.\n
        \n
        Last bit. Open source is rather important to me. I prefer free and free.\n
        \n
        Anyone have good suggestions??\n
        \n
        #### Edit\n
        \n
        I’m aware of tools like [Distro Chooser](https://distrochooser.de/). They’ve recommended Arch Linux and Endeavor OS to me so far. But I’m not ready to trust them yet. I’m looking for human input.\n
        \n
        #### Edit 2: Hardware Info\n
        \n
        I’m running on an [ASUS ROG Strix GA15DK](https://www.newegg.com/asus-ga15dk-ds776/p/N82E16883221675?Item=N82E16883221675). It’s just over 2 years old. The hardware was shiny but not top-tier at the time. It’s not new at this point but also not old by Linux standards.\n
        \n
        - AMD Ryzen 7 5800X Processor\n
        - NVIDIA GeForce RTX 3070\n
        - 16GB DDR4 3200 MHz RAM\n
        \n
        #### Edit 3\n
        \n
        It’s official. I installed EndeavourOS! I got it to work without any issues. Yup, first try. It definitely didn’t take me ~10 tries :D\n
        \n
        Thanks for all the input all! Wonderful crowd here!!!
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 4
      +favouriteCount: 1
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697984571 {#13921
        date: 2023-10-22 16:22:51.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#13926 …}
      +votes: Doctrine\ORM\PersistentCollection {#13929 …}
      +reports: Doctrine\ORM\PersistentCollection {#13931 …}
      +favourites: Doctrine\ORM\PersistentCollection {#13933 …}
      +notifications: Doctrine\ORM\PersistentCollection {#13935 …}
      +badges: Doctrine\ORM\PersistentCollection {#13937 …}
      +children: []
      -id: 9651
      -titleTs: "'choos':3 'distro':5 'help':1 'pleas':6"
      -bodyTs: "'/).':245 '/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':288 '10':361 '16gb':331 '2':274,293 '3':337 '3070':330 '3200':333 '5800x':325 '7':324 'admin':52 'advic':19 'also':99,316 'amd':322 'amount':117 'anyon':230 'app':87 'applic':165 'arch':249 'asus':282 'awar':237 'bit':217 'build':39 'choos':169 'chooser':242 'chosen':57 'ci/cd':40 'comfort':65 'configs/issues':71 'configur':140,181 'contain':126 'crowd':371 'current':88 'd':133,363 'ddr4':332 'default':145 'definit':356 'desktop':12,182 'dev':119 'development/operations':45 'didn':357 'dig':69 'discord':105 'distro':22,59,241 'distrochooser.de':244 'distrochooser.de/).':243 'ditch':3 'edit':234,273,336 'effort':151 'endeavor':252 'endeavouro':343 'etc':106,215 'ever':56 'excel':97 'far':257 'favor':6 'fine':185 'firefox':84 'first':353 'free':227,229 'ga15dk':285 'game':103 'geforc':328 'general':64 'good':144,210,232 'got':345 'hardwar':275,297 'high':139 'higher':175 'home':82 'human':271 'ideal':189 'import':110,222 'info':276 'input':272,368 'instal':171,342 'issu':351 'keep':198 'languag':123 'last':107,216 'least':109 'level':176 'like':94,134,240 'linux':8,31,51,67,250,320 'littl':150 'load':163 'look':17,130,269 'low':201 'm':2,16,63,129,236,260,268,278 'machin':79 'mainten':200 'manag':212 'mayb':90 'mean':205 'mhz':334 'most':37 'need':73 'never':48 'new':311 'note':86 'notesnook':89 'nvidia':327 'offic':91 'offici':340 'old':295,318 'open':218 'os':136,208,253 'packag':211 'perfect':184 'person':11 'pipelin':41 'plan':74 'point':314 'possibl':124 'prefer':226 'processor':326 'profession':32 'ram':335 'rather':221 'readi':262 'recommend':248 'requir':148,188 'rog':283 'rtx':329 'run':125,279 'ryzen':323 'set':146 'shini':299 'ship':142,161,178 'small':116 'softwar':44 'sourc':219 'stabl':207 'stable/automatic':213 'standard':321 'start':25,153 'steam':104 'still':197 'strix':284 'style':92 'suggest':233 'take':359 'thank':364 'think':203 'tier':304 'time':35,307 'tool':93,177,239 'top':303 'top-tier':302 'tri':354,362 'trust':264 'typic':81 'updat':214 'usag':75,83 'use':30,61,66,77,100,112,154 'various':122 've':47,247 'vscode':121 'want':158,167 'window':4 'without':349 'wonder':370 'word':95 'work':120,348 'www.newegg.com':287 'www.newegg.com/asus-ga15dk-ds776/p/n82e16883221675?item=n82e16883221675).':286 'year':294 'yet':266 'yup':352"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697945847
      +visibility: "visible             "
      +apId: "https://programming.dev/post/4712919"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697919847 {#13918
        date: 2023-10-21 22:24:07.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "You described EndeavourOS if you ask me. It’s Arch but preconfigured, so ready to use after install while being as configurable as Arch if you want to go further. Has AUR so you won’t have problems finding a program."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697920538 {#2832
      date: 2023-10-21 22:35:38.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Lodra@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2838 …}
    +nested: Doctrine\ORM\PersistentCollection {#2840 …}
    +votes: Doctrine\ORM\PersistentCollection {#2842 …}
    +reports: Doctrine\ORM\PersistentCollection {#2844 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2846 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2848 …}
    -id: 89299
    -bodyTs: "'arch':10,24 'ask':6 'aur':32 'configur':22 'describ':2 'endeavouro':3 'find':39 'go':29 'instal':18 'preconfigur':12 'problem':38 'program':41 'readi':14 'use':16 'want':27 'won':35"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/4102586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697920538 {#2833
      date: 2023-10-21 22:35:38.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 7.92 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#15802
  +comment: App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 14.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#2923
    +avatar: null
    +cover: null
    +email: "jsdz@lemmy.ml"
    +username: "@jsdz@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703025912 {#2907
      date: 2023-12-19 23:45:12.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 {#2924 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
    +entries: Doctrine\ORM\PersistentCollection {#2930 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
    +posts: Doctrine\ORM\PersistentCollection {#2938 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
    +follows: Doctrine\ORM\PersistentCollection {#2950 …}
    +followers: Doctrine\ORM\PersistentCollection {#2952 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
    +reports: Doctrine\ORM\PersistentCollection {#2962 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
    +violations: Doctrine\ORM\PersistentCollection {#2966 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
    +awards: Doctrine\ORM\PersistentCollection {#2970 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
    +categories: Doctrine\ORM\PersistentCollection {#2974 …}
    -id: 57604
    -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
    +apId: "jsdz@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/jsdz"
    +apPublicUrl: "https://lemmy.ml/u/jsdz"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "jsdz"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705755775 {#2908
      date: 2024-01-20 14:02:55.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697198386 {#2909
      date: 2023-10-13 13:59:46.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#15847
  +user: App\Entity\User {#2923
    +avatar: null
    +cover: null
    +email: "jsdz@lemmy.ml"
    +username: "@jsdz@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703025912 {#2907
      date: 2023-12-19 23:45:12.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 {#2924 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
    +entries: Doctrine\ORM\PersistentCollection {#2930 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
    +posts: Doctrine\ORM\PersistentCollection {#2938 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
    +follows: Doctrine\ORM\PersistentCollection {#2950 …}
    +followers: Doctrine\ORM\PersistentCollection {#2952 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
    +reports: Doctrine\ORM\PersistentCollection {#2962 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
    +violations: Doctrine\ORM\PersistentCollection {#2966 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
    +awards: Doctrine\ORM\PersistentCollection {#2970 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
    +categories: Doctrine\ORM\PersistentCollection {#2974 …}
    -id: 57604
    -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
    +apId: "jsdz@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/jsdz"
    +apPublicUrl: "https://lemmy.ml/u/jsdz"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "jsdz"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705755775 {#2908
      date: 2024-01-20 14:02:55.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697198386 {#2909
      date: 2023-10-13 13:59:46.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697914900 {#2906
    date: 2023-10-21 21:01:40.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#15902
  +date: DateTimeImmutable @1697914900 {#2906
    date: 2023-10-21 21:01:40.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697914900 {#2906
    date: 2023-10-21 21:01:40.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#15956
  +createdAt: DateTimeImmutable @1697914900 {#2906
    date: 2023-10-21 21:01:40.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 14.0 MiB 0.13 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#16010
  +entry: Proxies\__CG__\App\Entity\Entry {#2164
    +user: Proxies\__CG__\App\Entity\User {#8223 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
    +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
    +title: "With Firefox on X11, any page can pastejack you anytime"
    +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
    +body: """
      Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
      \n
      Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
      \n
      I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
      \n
      Thank you very much.\n
      \n
      ====\n
      \n
      In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
      \n
      No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
      \n
      This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
      \n
      ### Example\n
      \n
      The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
      \n
      Load the following snippet in firefox:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\n
      </span><span style="color:#323232;">intentionally left blank\n
      </span>\n
      ```\n
      \n
      Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
      \n
      live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
      \n
      ### Short technical explanation\n
      \n
      Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
      \n
      For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
      \n
      ### Workaround\n
      \n
      Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
      </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
      </span>\n
      ```\n
      \n
      Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
      \n
      I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
      \n
      ### Firefox Patch\n
      \n
      ```\n
      \n
      <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
      </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
      </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
      </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
      </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
      </span><span style="color:#323232;">   }\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
      </span><span style="color:#323232;">+    return;\n
      </span><span style="color:#323232;">+  }\n
      </span><span style="color:#323232;">+\n
      </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
      </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
      </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
      </span>\n
      ```\n
      \n
      The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
      \n
      ### About the example and bracketed-paste\n
      \n
      The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
      \n
      However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
      \n
      For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
      </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
      </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
      </span>\n
      ```\n
      \n
      which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
      </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
      </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
      </span>\n
      ```\n
      \n
      live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
      \n
      Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
      \n
      ### About Wayland\n
      \n
      For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
      \n
      But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
      \n
      And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
      \n
      ===\n
      \n
      This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
      \n
      I will correct any errors or omissions and also add more info there.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 8
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1725264437 {#8224
      date: 2024-09-02 10:07:17.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#8231 …}
    +votes: Doctrine\ORM\PersistentCollection {#8233 …}
    +reports: Doctrine\ORM\PersistentCollection {#8235 …}
    +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
    +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
    +badges: Doctrine\ORM\PersistentCollection {#8241 …}
    +children: []
    -id: 17198
    -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
    -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697959616
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7123900"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697907616 {#8221
      date: 2023-10-21 19:00:16.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.12 ms
Input props
[
  "user" => App\Entity\User {#2923
    +avatar: null
    +cover: null
    +email: "jsdz@lemmy.ml"
    +username: "@jsdz@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703025912 {#2907
      date: 2023-12-19 23:45:12.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 {#2924 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
    +entries: Doctrine\ORM\PersistentCollection {#2930 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
    +posts: Doctrine\ORM\PersistentCollection {#2938 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
    +follows: Doctrine\ORM\PersistentCollection {#2950 …}
    +followers: Doctrine\ORM\PersistentCollection {#2952 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
    +reports: Doctrine\ORM\PersistentCollection {#2962 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
    +violations: Doctrine\ORM\PersistentCollection {#2966 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
    +awards: Doctrine\ORM\PersistentCollection {#2970 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
    +categories: Doctrine\ORM\PersistentCollection {#2974 …}
    -id: 57604
    -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
    +apId: "jsdz@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/jsdz"
    +apPublicUrl: "https://lemmy.ml/u/jsdz"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "jsdz"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705755775 {#2908
      date: 2024-01-20 14:02:55.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697198386 {#2909
      date: 2023-10-13 13:59:46.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#16065
  +width: 40
  +height: 40
  +user: App\Entity\User {#2923
    +avatar: null
    +cover: null
    +email: "jsdz@lemmy.ml"
    +username: "@jsdz@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703025912 {#2907
      date: 2023-12-19 23:45:12.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 {#2924 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
    +entries: Doctrine\ORM\PersistentCollection {#2930 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
    +posts: Doctrine\ORM\PersistentCollection {#2938 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
    +follows: Doctrine\ORM\PersistentCollection {#2950 …}
    +followers: Doctrine\ORM\PersistentCollection {#2952 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
    +reports: Doctrine\ORM\PersistentCollection {#2962 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
    +violations: Doctrine\ORM\PersistentCollection {#2966 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
    +awards: Doctrine\ORM\PersistentCollection {#2970 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
    +categories: Doctrine\ORM\PersistentCollection {#2974 …}
    -id: 57604
    -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
    +apId: "jsdz@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/jsdz"
    +apPublicUrl: "https://lemmy.ml/u/jsdz"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "jsdz"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705755775 {#2908
      date: 2024-01-20 14:02:55.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697198386 {#2909
      date: 2023-10-13 13:59:46.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.38 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#16154
  +subject: App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 0.61 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#16211
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 0.71 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#16451
  +comment: App\Entity\EntryComment {#2910
    +user: App\Entity\User {#2923
      +avatar: null
      +cover: null
      +email: "jsdz@lemmy.ml"
      +username: "@jsdz@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703025912 {#2907
        date: 2023-12-19 23:45:12.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 {#2924 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2926 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2928 …}
      +entries: Doctrine\ORM\PersistentCollection {#2930 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2932 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2934 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2936 …}
      +posts: Doctrine\ORM\PersistentCollection {#2938 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2940 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2942 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2944 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2946 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2948 …}
      +follows: Doctrine\ORM\PersistentCollection {#2950 …}
      +followers: Doctrine\ORM\PersistentCollection {#2952 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2954 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2956 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2958 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2960 …}
      +reports: Doctrine\ORM\PersistentCollection {#2962 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2964 …}
      +violations: Doctrine\ORM\PersistentCollection {#2966 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2968 …}
      +awards: Doctrine\ORM\PersistentCollection {#2970 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2972 …}
      +categories: Doctrine\ORM\PersistentCollection {#2974 …}
      -id: 57604
      -password: "$2y$13$9ApL2A1FYg8/0CF.gR36j.12HaHpHPO6VU68mJHvWwjjx3QAd0c3i"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2976 …}
      +apId: "jsdz@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/jsdz"
      +apPublicUrl: "https://lemmy.ml/u/jsdz"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "jsdz"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705755775 {#2908
        date: 2024-01-20 14:02:55.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697198386 {#2909
        date: 2023-10-13 13:59:46.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2164
      +user: Proxies\__CG__\App\Entity\User {#8223 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#8229 …}
      +slug: "With-Firefox-on-X11-any-page-can-pastejack-you-anytime"
      +title: "With Firefox on X11, any page can pastejack you anytime"
      +url: "https://www.openwall.com/lists/oss-security/2023/10/17/1"
      +body: """
        Date: Tue, 17 Oct 2023 03:17:36 +0300 From: turistu To: oss-security@…ts.openwall.com Subject: with firefox on X11, any page can pastejack you anytime\n
        \n
        Note to the moderator: I have already submitted this to the firefox people three weeks ago, and according to them, this is not a real security issue, or at least not worse than those pesky scripts which you cannot kill without killing firefox itself; if you think the same, just ignore this without replying.\n
        \n
        I would however appreciate if you let this through and so give it some visibility so that the other 2 or 3 people who may be affected by this could learn about it.\n
        \n
        Thank you very much.\n
        \n
        ====\n
        \n
        In firefox running on X11, any script from any page can freely write to the primary selection, and that can be easily exploited to run arbitrary code on the user’s machine.\n
        \n
        No user interaction is necessary – any page able to run javascript can do it, including e.g. a page from a background tab of a minimized window, an iframe inside such a window, an error page, a sandboxed iframe, a page that has reloaded itself via `meta http-equiv=refresh`, etc.\n
        \n
        This applies to all the versions of mozilla/firefox and their derivatives (seamonkey, etc) that I was able to test, including the latest nightly.\n
        \n
        ### Example\n
        \n
        The simplest example, which works in the default configurations of systems like OpenBSD or Alpine Linux (= any Unix/Linux system where Wayland is not the default and the default *shell* does not implement bracketed-paste), would go like this:\n
        \n
        Load the following snippet in firefox:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">\n
        </span><span style="color:#323232;">intentionally left blank\n
        </span>\n
        ```\n
        \n
        Then pretend to forget about it, and go about your work. Sooner or later, when trying to paste something in the terminal with shift-Insert or middle click, you will end up running the command `writeXPrimary()` has injected just between your copy and paste.\n
        \n
        live example of that snippet: [turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)\n
        \n
        ### Short technical explanation\n
        \n
        Browsers like firefox have the concepts of “secure context” (e.g. `https://`) and “transient user activation”; the javascript from the page gets some temporary powers as soon as you have interacted *even so little* with the page, like clicked, touched, etc.\n
        \n
        For instance, writing with `Clipboard.writeText()` to the windows-style Ctrl-C Ctrl-V *clipboard* selection is only possible from secure contexts and only in the short while after the user has clicked a button, etc on the page. As this bug demonstrates, those prerequisites are not needed for writing to the *primary* selection, which on X11 is much more used and much more valuable.\n
        \n
        ### Workaround\n
        \n
        Without patching firefox, the only workaround I can think about is disabling the `Clipboard.selectAllChildren()` function from an addon’s content script, e.g. like this:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let block = function(){ throw Error('blocked') };\n
        </span><span style="color:#323232;">exportFunction(block, Selection.prototype, { defineAs: 'selectAllChildren' });\n
        </span>\n
        ```\n
        \n
        Complete extension here at [github.com/turistu/odds-n-ends/raw/…/no-sel.xpi](https://github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).\n
        \n
        I tried to submit it to addons.mozilla.org but they didn’t accept it. If you’re running firefox-esr, the development edition or nightly, you can just `set xpinstall.signatures.required` to true in `about:config` and install it with `firefox no-sel.xpi`.\n
        \n
        ### Firefox Patch\n
        \n
        ```\n
        \n
        <span style="color:#323232;">diff -r 9b362770f30b layout/generic/nsFrameSelection.cpp\n
        </span><span style="color:#323232;">--- a/layout/generic/nsFrameSelection.cpp\tFri Oct 06 12:03:17 2023 +0000\n
        </span><span style="color:#323232;">+++ b/layout/generic/nsFrameSelection.cpp\tSun Oct 08 11:04:41 2023 +0300\n
        </span><span style="color:#323232;">@@ -3345,6 +3345,10 @@\n
        </span><span style="color:#323232;">     return;  // Don't care if we are still dragging.\n
        </span><span style="color:#323232;">   }\n
        </span><span style="color:#323232;"> \n
        </span><span style="color:#323232;">+  if (aReason &amp; nsISelectionListener::JS_REASON) {\n
        </span><span style="color:#323232;">+    return;\n
        </span><span style="color:#323232;">+  }\n
        </span><span style="color:#323232;">+\n
        </span><span style="color:#323232;">   if (!aDocument || aSelection.IsCollapsed()) {\n
        </span><span style="color:#323232;"> #ifdef DEBUG_CLIPBOARD\n
        </span><span style="color:#323232;">     fprintf(stderr, "CLIPBOARD: no selection/collapsed selectionn");\n
        </span>\n
        ```\n
        \n
        The idea of this patch was to *always* prevent javascript from indirectly messing with the primary selection via the Selection API. However, it turned out that the `JS_REASON` flag was not reliable; if javascript calls some function like `addRange()` or `selectAllChildren()` while the user has started dragging but hasn’t released the mouse button yet, that code will be called *without* that flag but with the text set by javascript, not the text selected by the user. However, I think that this patch is still enough to fill the glaring hole opened by `selectAllChildren()`.\n
        \n
        ### About the example and bracketed-paste\n
        \n
        The bracketed paste feature of bash/readline and zsh means that you cannot just append a CR or LF to the payload and be done, it’s the user who has to press ENTER for it to run.\n
        \n
        However, workarounds exist. For instance, some terminals like mlterm don’t filter out the pasted data, and you can terminate the pasting mode early by inserting a `e201~` in the payload.\n
        \n
        For bash, you can take advantage of some quirks in the readline library to turn off the highlighting and make the payload invisible to the user. E.g.:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">let payload = 'touch ~/LOL-' + Date.now() / 1000;\n
        </span><span style="color:#323232;">writeXPrimary('n' + payload + 'n'.repeat(100) + ' '.repeat(30)\n
        </span><span style="color:#323232;">\t+ 'n'.repeat(100))\n
        </span>\n
        ```\n
        \n
        which will confuse the user with the same screen as when some stray background job had written something to the terminal:\n
        \n
        ```\n
        \n
        <span style="color:#323232;">user@...t:~$ : previous unrelated command\n
        </span><span style="color:#323232;">user@...t:~$\t&lt;-- paste here\n
        </span><span style="color:#323232;">#   &lt;-- cursor here, most users will just hit Enter to get a new prompt\n
        </span>\n
        ```\n
        \n
        live example of that snippet: [turistu.github.io/firefox/bash-pastejack.html\n
        \n
        Just to be clear, I don’t think that either mlterm, bash, nor the shells that don’t do have that bracketed-paste feature are at fault here in any way (and I personally always turn off that misfeature as it badly interferes with my workflow): It’s firefox which should get all the blame for letting random javascript evade its pretended “sandbox” in this way.\n
        \n
        ### About Wayland\n
        \n
        For firefox running in Wayland, `writeXPrimary()` will only succeed when the firefox window (the main window, not necessarily the tab the code runs in) has the focus. Otherwise the selection will be cleared. At first I assumed that this is something specific to the Wayland protocol, but that turned out to be utterly false; it’s just some quirk, bug or “feature” specific to either firefox itself or GTK.\n
        \n
        But I think that’s still bad enough, even if the page should take care to only set the selection when the main window has gained focus.\n
        \n
        And of course, all this doesn’t affect the situation where you’re copying and pasting in another firefox tab with a different context, origin, etc; and all the other situations where you don’t appreciate having random javascript you don’t even know about messing with your copy &amp; paste.\n
        \n
        ===\n
        \n
        This is a slightly edited version of [github.com/turistu/odds-n-ends/…/pastejack.md](https://github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).\n
        \n
        I will correct any errors or omissions and also add more info there.
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 8
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1725264437 {#8224
        date: 2024-09-02 10:07:17.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#8231 …}
      +votes: Doctrine\ORM\PersistentCollection {#8233 …}
      +reports: Doctrine\ORM\PersistentCollection {#8235 …}
      +favourites: Doctrine\ORM\PersistentCollection {#8237 …}
      +notifications: Doctrine\ORM\PersistentCollection {#8239 …}
      +badges: Doctrine\ORM\PersistentCollection {#8241 …}
      +children: []
      -id: 17198
      -titleTs: "'anytim':10 'firefox':2 'page':6 'pastejack':8 'x11':4"
      -bodyTs: "'+0000':538 '+0300':9,547 '+3345':550 '-3345':548 '/firefox/bash-pastejack.html':843 '/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':326 '/lol-':779 '/no-sel.xpi':479 '/pastejack.md':1069 '/turistu/odds-n-ends/':1068 '/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1072 '/turistu/odds-n-ends/raw/':478 '/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':482 '03':6,535 '04':544 '06':533 '08':542 '10':551 '100':787,792 '1000':781 '11':543 '12':534 '17':3,7,536 '2':101 '2023':5,537,546 '3':103 '30':789 '36':8 '41':545 '6':549 '9b362770f30b':528 'a/layout/generic/nsframeselection.cpp':530 'abl':158,218 'accept':494 'accord':45 'activ':343 'add':1082 'addon':454 'addons.mozilla.org':489 'addrang':618 'adocu':568 'advantag':754 'affect':108,1016 'ago':43 'alpin':240 'alreadi':34 'also':1081 'alway':586,879 'anoth':1026 'anytim':27 'api':599 'append':694 'appli':203 'appreci':85,1044 'arbitrari':144 'areason':562 'aselection.iscollapsed':569 'assum':949 'b/layout/generic/nsframeselection.cpp':539 'background':171,806 'bad':886,988 'bash':750,855 'bash/readline':686 'blame':899 'blank':273 'block':462,466,468 'bracket':259,679,682,866 'bracketed-past':258,678,865 'browser':330 'bug':412,972 'button':405,633 'c':381 'call':614,639 'cannot':66,692 'care':555,996 'clear':847,945 'click':302,366,403 'clipboard':385,572,575 'clipboard.selectallchildren':450 'clipboard.writetext':373 'code':145,636,934 'command':309,818 'complet':472 'concept':335 'config':517 'configur':234 'confus':795 'content':456 'context':338,392,1032 'copi':316,1022,1057 'correct':1075 'could':111 'cours':1011 'cr':696 'ctrl':380,383 'ctrl-c':379 'ctrl-v':382 'cursor':823 'data':733 'date':1 'date.now':780 'debug':571 'default':233,250,253 'definea':470 'demonstr':413 'deriv':212 'develop':504 'didn':492 'diff':526 'differ':1031 'disabl':448 'doesn':1014 'done':704 'drag':560,626 'e.g':166,339,458,775 'e201':745 'earli':741 'easili':140 'edit':505,1063 'either':853,977 'end':305 'enough':665,989 'enter':713,830 'equiv':199 'error':184,465,1077 'esr':502 'etc':201,214,368,406,1034 'evad':904 'even':359,990,1051 'exampl':225,228,320,676,837 'exist':720 'explan':329 'exploit':141 'exportfunct':467 'extens':473 'fals':966 'fault':871 'featur':684,868,974 'fill':667 'filter':729 'firefox':19,39,70,120,270,332,439,501,522,524,893,914,924,978,1027 'firefox-esr':500 'first':947 'flag':608,642 'focus':939,1008 'follow':267 'forget':277 'fprintf':573 'freeli':130 'fri':531 'function':451,463,616 'gain':1007 'get':349,832,896 'github.com':477,481,1067,1071 'github.com/turistu/odds-n-ends/':1066 'github.com/turistu/odds-n-ends/blob/main/firefox/pastejack.md).':1070 'github.com/turistu/odds-n-ends/raw/':476 'github.com/turistu/odds-n-ends/raw/main/firefox/no-sel.xpi).':480 'give':93 'glare':669 'go':262,281 'gtk':981 'hasn':628 'highlight':766 'hit':829 'hole':670 'howev':84,600,657,718 'http':198 'http-equiv':197 'idea':580 'ifdef':570 'ifram':178,188 'ignor':78 'implement':257 'includ':165,221 'indirect':590 'info':1084 'inject':312 'insert':299,743 'insid':179 'instal':519 'instanc':370,722 'intent':271 'interact':153,358 'interfer':887 'invis':771 'issu':54 'javascript':161,345,588,613,649,903,1047 'job':807 'js':564,606 'kill':67,69 'know':1052 'later':287 'latest':223 'layout/generic/nsframeselection.cpp':529 'learn':112 'least':57 'left':272 'let':88,461,776,901 'lf':698 'librari':761 'like':237,263,331,365,459,617,725 'linux':241 'littl':361 'live':319,836 'load':265 'machin':150 'main':927,1004 'make':768 'may':106 'mean':689 'mess':591,1054 'meta':196 'middl':301 'minim':175 'misfeatur':883 'mlterm':726,854 'mode':740 'moder':31 'mous':632 'mozilla/firefox':209 'much':118,429,433 'n':783,785,790 'necessari':155 'necessarili':930 'need':418 'new':834 'night':224,507 'no-sel.xpi':523 'note':28 'nsiselectionlisten':563 'oct':4,532,541 'omiss':1079 'open':671 'openbsd':238 'origin':1033 'oss':14 'oss-secur':13 'otherwis':940 'page':23,128,157,168,185,190,348,364,409,993 'past':260,291,318,680,683,732,739,821,867,1024,1058 'pastejack':25 'patch':438,525,583,662 'payload':701,748,770,777,784 'peopl':40,104 'person':878 'peski':62 'possibl':389 'power':352 'prerequisit':415 'press':712 'pretend':275,906 'prevent':587 'previous':816 'primari':134,423,594 'prompt':835 'protocol':958 'quirk':757,971 'r':527 'random':902,1046 're':498,1021 'readlin':760 'real':52 'reason':565,607 'refresh':200 'releas':630 'reliabl':611 'reload':193 'repeat':786,788,791 'repli':81 'return':552,566 'run':121,143,160,307,499,717,915,935 'sandbox':187,907 'screen':801 'script':63,125,457 'seamonkey':213 'secur':15,53,337,391 'select':135,386,424,595,598,653,942,1001 'selectallchildren':471,620,673 'selection.prototype':469 'selection/collapsed':577 'selectionn':578 'set':511,647,999 'shell':254,858 'shift':298 'shift-insert':297 'short':327,397 'simplest':227 'situat':1018,1039 'slight':1062 'snippet':268,323,840 'someth':292,810,953 'soon':354 'sooner':285 'specif':954,975 'start':625 'stderr':574 'still':559,664,987 'stray':805 'style':378 'subject':17 'submit':35,486 'succeed':921 'sun':540 'system':236,244 'tab':172,932,1028 'take':753,995 'technic':328 'temporari':351 'termin':295,724,737,813 'test':220 'text':646,652 'thank':115 'think':74,445,659,851,984 'three':41 'throw':464 'touch':367,778 'transient':341 'tri':289,484 'true':514 'ts.openwall.com':16 'tue':2 'turistu':11 'turistu.github.io':325,842 'turistu.github.io/firefox/bash-pastejack.html':841 'turistu.github.io/firefox/pastejack.html](https://turistu.github.io/firefox/pastejack.html)':324 'turn':602,763,880,961 'unix/linux':243 'unrel':817 'use':431 'user':148,152,342,401,623,656,708,774,797,814,819,826 'utter':965 'v':384 'valuabl':435 'version':207,1064 'via':195,596 'visibl':96 'way':875,910 'wayland':246,912,917,957 'week':42 'window':176,182,377,925,928,1005 'windows-styl':376 'without':68,80,437,640 'work':230,284 'workaround':436,442,719 'workflow':890 'wors':59 'would':83,261 'write':131,371,420 'writexprimari':310,782,918 'written':809 'x11':21,123,427 'xpinstall.signatures.required':512 'yet':634 'zsh':688"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697959616
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7123900"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697907616 {#8221
        date: 2023-10-21 19:00:16.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I tried to submit it to addons.mozilla.org but they didn’t accept it.\n
      \n
      [It sort of looks as if they did accept it.](https://addons.mozilla.org/en-US/firefox/addon/disable-the-selection-api/) If they were hesitant, perhaps it has something to do with the description suggesting that it’s a broken and pointless temporary kludge, as well as calling Firefox “*removed*”, and the ridiculously irrelevant screenshot.\n
      \n
      I didn’t realise it was that easy to build a simple firefox extension like that. Maybe I’ll modify it to disable the whole clipboard api and some other stuff.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697914900 {#2905
      date: 2023-10-21 21:01:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@ugjka@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2911 …}
    +nested: Doctrine\ORM\PersistentCollection {#2913 …}
    +votes: Doctrine\ORM\PersistentCollection {#2915 …}
    +reports: Doctrine\ORM\PersistentCollection {#2917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2919 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2921 …}
    -id: 198417
    -bodyTs: "'/en-us/firefox/addon/disable-the-selection-api/)':26 'accept':12,22 'addons.mozilla.org':7,25 'addons.mozilla.org/en-us/firefox/addon/disable-the-selection-api/)':24 'api':87 'broken':45 'build':70 'call':53 'clipboard':86 'descript':39 'didn':10,62 'disabl':83 'easi':68 'extens':74 'firefox':54,73 'hesit':30 'irrelev':59 'kludg':49 'like':75 'll':79 'look':17 'mayb':77 'modifi':80 'perhap':31 'pointless':47 'realis':64 'remov':55 'ridicul':58 'screenshot':60 'simpl':72 'someth':34 'sort':15 'stuff':91 'submit':4 'suggest':40 'temporari':48 'tri':2 'well':51 'whole':85"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/5092898"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697914900 {#2906
      date: 2023-10-21 21:01:40.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 16.27 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => true
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#16521
  +comment: App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: true
  +showNested: true
  +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 0.15 ms
Input props
[
  "user" => App\Entity\User {#2997
    +avatar: null
    +cover: null
    +email: "AI_toothbrush@lemmy.zip"
    +username: "@AI_toothbrush@lemmy.zip"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Mastodon: @toothbrush@possum.city"
    +lastActive: DateTime @1729507943 {#2980
      date: 2024-10-21 12:52:23.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 {#2998 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
    +entries: Doctrine\ORM\PersistentCollection {#3004 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
    +posts: Doctrine\ORM\PersistentCollection {#3012 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
    +follows: Doctrine\ORM\PersistentCollection {#3024 …}
    +followers: Doctrine\ORM\PersistentCollection {#3026 …}
    +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
    +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
    +reports: Doctrine\ORM\PersistentCollection {#3036 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
    +violations: Doctrine\ORM\PersistentCollection {#3040 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
    +awards: Doctrine\ORM\PersistentCollection {#3044 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
    +categories: Doctrine\ORM\PersistentCollection {#3048 …}
    -id: 38291
    -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
    +apId: "AI_toothbrush@lemmy.zip"
    +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
    +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.zip/inbox"
    +apDomain: "lemmy.zip"
    +apPreferredUsername: "AI_toothbrush"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729374449 {#2981
      date: 2024-10-19 23:47:29.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691084792 {#2982
      date: 2023-08-03 19:46:32.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#16586
  +user: App\Entity\User {#2997
    +avatar: null
    +cover: null
    +email: "AI_toothbrush@lemmy.zip"
    +username: "@AI_toothbrush@lemmy.zip"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Mastodon: @toothbrush@possum.city"
    +lastActive: DateTime @1729507943 {#2980
      date: 2024-10-21 12:52:23.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 {#2998 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
    +entries: Doctrine\ORM\PersistentCollection {#3004 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
    +posts: Doctrine\ORM\PersistentCollection {#3012 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
    +follows: Doctrine\ORM\PersistentCollection {#3024 …}
    +followers: Doctrine\ORM\PersistentCollection {#3026 …}
    +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
    +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
    +reports: Doctrine\ORM\PersistentCollection {#3036 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
    +violations: Doctrine\ORM\PersistentCollection {#3040 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
    +awards: Doctrine\ORM\PersistentCollection {#3044 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
    +categories: Doctrine\ORM\PersistentCollection {#3048 …}
    -id: 38291
    -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
    +apId: "AI_toothbrush@lemmy.zip"
    +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
    +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.zip/inbox"
    +apDomain: "lemmy.zip"
    +apPreferredUsername: "AI_toothbrush"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729374449 {#2981
      date: 2024-10-19 23:47:29.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691084792 {#2982
      date: 2023-08-03 19:46:32.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697912876 {#2979
    date: 2023-10-21 20:27:56.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#16641
  +date: DateTimeImmutable @1697912876 {#2979
    date: 2023-10-21 20:27:56.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697912876 {#2979
    date: 2023-10-21 20:27:56.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#16695
  +createdAt: DateTimeImmutable @1697912876 {#2979
    date: 2023-10-21 20:27:56.0 +02:00
  }
  +editedAt: null
}
entry_inline App\Twig\Components\EntryInlineComponent 16.0 MiB 0.13 ms
Input props
[
  "entry" => Proxies\__CG__\App\Entity\Entry {#2984
    +user: Proxies\__CG__\App\Entity\User {#16558 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#16564 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
    +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
    +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
    +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
    +body: """
      > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
      \n
      EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 7
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697912876 {#16559
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#16567 …}
    +votes: Doctrine\ORM\PersistentCollection {#16569 …}
    +reports: Doctrine\ORM\PersistentCollection {#16571 …}
    +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
    +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
    +badges: Doctrine\ORM\PersistentCollection {#16577 …}
    +children: []
    -id: 12203
    -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
    -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697851086
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7068568"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697805586 {#16556
      date: 2023-10-20 14:39:46.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\EntryInlineComponent {#16749
  +entry: Proxies\__CG__\App\Entity\Entry {#2984
    +user: Proxies\__CG__\App\Entity\User {#16558 …}
    +magazine: App\Entity\Magazine {#307
      +icon: Proxies\__CG__\App\Entity\Image {#288 …}
      +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 {#317
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#279 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
      +entries: Doctrine\ORM\PersistentCollection {#222 …}
      +posts: Doctrine\ORM\PersistentCollection {#180 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
      +bans: Doctrine\ORM\PersistentCollection {#159 …}
      +reports: Doctrine\ORM\PersistentCollection {#145 …}
      +badges: Doctrine\ORM\PersistentCollection {#123 …}
      +logs: Doctrine\ORM\PersistentCollection {#113 …}
      +awards: Doctrine\ORM\PersistentCollection {#102 …}
      +categories: Doctrine\ORM\PersistentCollection {#89 …}
      -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 {#311
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#310
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#16564 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
    +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
    +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
    +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
    +body: """
      > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
      \n
      EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 7
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697912876 {#16559
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#16567 …}
    +votes: Doctrine\ORM\PersistentCollection {#16569 …}
    +reports: Doctrine\ORM\PersistentCollection {#16571 …}
    +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
    +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
    +badges: Doctrine\ORM\PersistentCollection {#16577 …}
    +children: []
    -id: 12203
    -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
    -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697851086
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/7068568"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697805586 {#16556
      date: 2023-10-20 14:39:46.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.13 ms
Input props
[
  "user" => App\Entity\User {#2997
    +avatar: null
    +cover: null
    +email: "AI_toothbrush@lemmy.zip"
    +username: "@AI_toothbrush@lemmy.zip"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Mastodon: @toothbrush@possum.city"
    +lastActive: DateTime @1729507943 {#2980
      date: 2024-10-21 12:52:23.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 {#2998 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
    +entries: Doctrine\ORM\PersistentCollection {#3004 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
    +posts: Doctrine\ORM\PersistentCollection {#3012 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
    +follows: Doctrine\ORM\PersistentCollection {#3024 …}
    +followers: Doctrine\ORM\PersistentCollection {#3026 …}
    +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
    +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
    +reports: Doctrine\ORM\PersistentCollection {#3036 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
    +violations: Doctrine\ORM\PersistentCollection {#3040 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
    +awards: Doctrine\ORM\PersistentCollection {#3044 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
    +categories: Doctrine\ORM\PersistentCollection {#3048 …}
    -id: 38291
    -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
    +apId: "AI_toothbrush@lemmy.zip"
    +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
    +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.zip/inbox"
    +apDomain: "lemmy.zip"
    +apPreferredUsername: "AI_toothbrush"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729374449 {#2981
      date: 2024-10-19 23:47:29.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691084792 {#2982
      date: 2023-08-03 19:46:32.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#16804
  +width: 40
  +height: 40
  +user: App\Entity\User {#2997
    +avatar: null
    +cover: null
    +email: "AI_toothbrush@lemmy.zip"
    +username: "@AI_toothbrush@lemmy.zip"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Mastodon: @toothbrush@possum.city"
    +lastActive: DateTime @1729507943 {#2980
      date: 2024-10-21 12:52:23.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 {#2998 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
    +entries: Doctrine\ORM\PersistentCollection {#3004 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
    +posts: Doctrine\ORM\PersistentCollection {#3012 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
    +follows: Doctrine\ORM\PersistentCollection {#3024 …}
    +followers: Doctrine\ORM\PersistentCollection {#3026 …}
    +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
    +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
    +reports: Doctrine\ORM\PersistentCollection {#3036 …}
    +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
    +violations: Doctrine\ORM\PersistentCollection {#3040 …}
    +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
    +awards: Doctrine\ORM\PersistentCollection {#3044 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
    +categories: Doctrine\ORM\PersistentCollection {#3048 …}
    -id: 38291
    -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
    +apId: "AI_toothbrush@lemmy.zip"
    +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
    +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.zip/inbox"
    +apDomain: "lemmy.zip"
    +apPreferredUsername: "AI_toothbrush"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729374449 {#2981
      date: 2024-10-19 23:47:29.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691084792 {#2982
      date: 2023-08-03 19:46:32.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.36 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#16873
  +subject: App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.70 ms
Input props
[
  "subject" => App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#16930
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 6.99 ms
Input props
[
  "comment" => App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#17170
  +comment: App\Entity\EntryComment {#2983
    +user: App\Entity\User {#2997
      +avatar: null
      +cover: null
      +email: "AI_toothbrush@lemmy.zip"
      +username: "@AI_toothbrush@lemmy.zip"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Mastodon: @toothbrush@possum.city"
      +lastActive: DateTime @1729507943 {#2980
        date: 2024-10-21 12:52:23.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 {#2998 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3000 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3002 …}
      +entries: Doctrine\ORM\PersistentCollection {#3004 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3006 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3008 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3010 …}
      +posts: Doctrine\ORM\PersistentCollection {#3012 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3014 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3016 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3018 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3020 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3022 …}
      +follows: Doctrine\ORM\PersistentCollection {#3024 …}
      +followers: Doctrine\ORM\PersistentCollection {#3026 …}
      +blocks: Doctrine\ORM\PersistentCollection {#3028 …}
      +blockers: Doctrine\ORM\PersistentCollection {#3030 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#3032 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#3034 …}
      +reports: Doctrine\ORM\PersistentCollection {#3036 …}
      +favourites: Doctrine\ORM\PersistentCollection {#3038 …}
      +violations: Doctrine\ORM\PersistentCollection {#3040 …}
      +notifications: Doctrine\ORM\PersistentCollection {#3042 …}
      +awards: Doctrine\ORM\PersistentCollection {#3044 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#3046 …}
      +categories: Doctrine\ORM\PersistentCollection {#3048 …}
      -id: 38291
      -password: "$2y$13$EYoWBv2BTBBjCzqf2mC43.zx5zhmWcH.9b8.VBA6G0vPJsxw/UZSy"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#3050 …}
      +apId: "AI_toothbrush@lemmy.zip"
      +apProfileId: "https://lemmy.zip/u/AI_toothbrush"
      +apPublicUrl: "https://lemmy.zip/u/AI_toothbrush"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.zip/inbox"
      +apDomain: "lemmy.zip"
      +apPreferredUsername: "AI_toothbrush"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729374449 {#2981
        date: 2024-10-19 23:47:29.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691084792 {#2982
        date: 2023-08-03 19:46:32.0 +02:00
      }
    }
    +entry: Proxies\__CG__\App\Entity\Entry {#2984
      +user: Proxies\__CG__\App\Entity\User {#16558 …}
      +magazine: App\Entity\Magazine {#307
        +icon: Proxies\__CG__\App\Entity\Image {#288 …}
        +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 {#317
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#279 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
        +entries: Doctrine\ORM\PersistentCollection {#222 …}
        +posts: Doctrine\ORM\PersistentCollection {#180 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
        +bans: Doctrine\ORM\PersistentCollection {#159 …}
        +reports: Doctrine\ORM\PersistentCollection {#145 …}
        +badges: Doctrine\ORM\PersistentCollection {#123 …}
        +logs: Doctrine\ORM\PersistentCollection {#113 …}
        +awards: Doctrine\ORM\PersistentCollection {#102 …}
        +categories: Doctrine\ORM\PersistentCollection {#89 …}
        -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 {#311
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#310
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: Proxies\__CG__\App\Entity\Image {#16564 …}
      +domain: Proxies\__CG__\App\Entity\Domain {#16566 …}
      +slug: "Linux-Desktop-A-Collective-Delusion-an-unhinged-rant"
      +title: ""Linux Desktop:  A Collective Delusion" - an unhinged rant"
      +url: "https://tadeubento.com/2023/linux-desktop-a-collective-delusion/"
      +body: """
        > Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls short as a daily driver for average users.\n
        \n
        EDIT: can I just make it clear I don’t agree with this article one bit and think it’s an unhinged polemic?
        """
      +type: "link"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 7
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697912876 {#16559
        date: 2023-10-21 20:27:56.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#16567 …}
      +votes: Doctrine\ORM\PersistentCollection {#16569 …}
      +reports: Doctrine\ORM\PersistentCollection {#16571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#16573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#16575 …}
      +badges: Doctrine\ORM\PersistentCollection {#16577 …}
      +children: []
      -id: 12203
      -titleTs: "'collect':4 'delus':5 'desktop':2 'linux':1 'rant':8 'unhing':7"
      -bodyTs: "'2023':8 'agre':74 'articl':77 'averag':62 'believ':43 'better':11 'bit':79 'clear':50,70 'counterpart':35 'daili':59 'delus':21 'desktop':23 'discuss':39 'driver':60 'edit':64 'ever':13 'fall':55 'friend':29 'howev':14 'import':46 'individu':18 'lemmi':41 'linux':1,24,54 'made':3 'mainstream':34 'make':68 'one':78 'perpetu':19 'polem':86 'product':31 'provid':48 'review':51 'short':56 'signific':4 'still':17 'stride':5 'think':81 'unhing':85 'user':28,63 'user-friend':27"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697851086
      +visibility: "visible             "
      +apId: "https://lemmy.world/post/7068568"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697805586 {#16556
        date: 2023-10-20 14:39:46.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#307}
    +image: null
    +parent: null
    +root: null
    +body: "Basically all this is bs. The truth is: switching os’ is always hard but if you grow up with one(like me who started with linux and didnt try windows until the age of 15) and only use that one ecosystem its easier. Also according to my grandma(her laptop was really slow so we tried linux on it) manjaro is easier to use than windows…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697912876 {#2978
      date: 2023-10-21 20:27:56.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@irmoz@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2985 …}
    +nested: Doctrine\ORM\PersistentCollection {#2987 …}
    +votes: Doctrine\ORM\PersistentCollection {#2989 …}
    +reports: Doctrine\ORM\PersistentCollection {#2991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2993 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2995 …}
    -id: 126394
    -bodyTs: "'15':35 'accord':45 'age':33 'also':44 'alway':12 'basic':1 'bs':5 'didnt':28 'easier':43,62 'ecosystem':41 'grandma':48 'grow':17 'hard':13 'laptop':50 'like':21 'linux':26,57 'manjaro':60 'one':20,40 'os':10 'realli':52 'slow':53 'start':24 'switch':9 'tri':29,56 'truth':7 'use':38,64 'window':30,66"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/3922211"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697912876 {#2979
      date: 2023-10-21 20:27:56.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 16.0 MiB 0.20 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 {#17305
  +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.21 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#17377
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.12 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#17440
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.15 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 {#17496
  +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.18 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 {#17555
  +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.20 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#17611
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.20 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#17667
  +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.21 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#17725
  +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.12 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#17788
  +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.13 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#17846
  +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.17 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#17902
  +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.13 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#17958
  +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.11 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18014
  +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.16 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18070
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.15 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18126
  +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.15 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18182
  +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.21 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18238
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.14 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18294
  +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.16 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#18350
  +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 {#18406
  +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.12 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 {#18464
  +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
}
magazine_box App\Twig\Components\MagazineBoxComponent 16.0 MiB 29.26 ms
Input props
[
  "magazine" => App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#18535
  +magazine: App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      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.45 ms
Input props
[
  "magazine" => App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#18594
  +magazine: App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.22 ms
Input props
[
  "date" => DateTimeImmutable @1698929468 {#310
    date: 2023-11-02 13:51:08.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#18768
  +date: DateTimeImmutable @1698929468 {#310
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 1.16 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#18827
    +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 {#18874
      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 {#18876 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#18878 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#18880 …}
    +entries: Doctrine\ORM\PersistentCollection {#18882 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#18884 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#18886 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#18888 …}
    +posts: Doctrine\ORM\PersistentCollection {#18890 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#18892 …}
    +postComments: Doctrine\ORM\PersistentCollection {#18894 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#18896 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#18898 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#18900 …}
    +follows: Doctrine\ORM\PersistentCollection {#18902 …}
    +followers: Doctrine\ORM\PersistentCollection {#18904 …}
    +blocks: Doctrine\ORM\PersistentCollection {#18906 …}
    +blockers: Doctrine\ORM\PersistentCollection {#18908 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#18910 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#18912 …}
    +reports: Doctrine\ORM\PersistentCollection {#18914 …}
    +favourites: Doctrine\ORM\PersistentCollection {#18916 …}
    +violations: Doctrine\ORM\PersistentCollection {#18918 …}
    +notifications: Doctrine\ORM\PersistentCollection {#18920 …}
    +awards: Doctrine\ORM\PersistentCollection {#18922 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#18924 …}
    +categories: Doctrine\ORM\PersistentCollection {#18926 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#18928 …}
    +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 {#18875
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#18845
  +user: Proxies\__CG__\App\Entity\User {#18827
    +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 {#18874
      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 {#18876 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#18878 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#18880 …}
    +entries: Doctrine\ORM\PersistentCollection {#18882 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#18884 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#18886 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#18888 …}
    +posts: Doctrine\ORM\PersistentCollection {#18890 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#18892 …}
    +postComments: Doctrine\ORM\PersistentCollection {#18894 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#18896 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#18898 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#18900 …}
    +follows: Doctrine\ORM\PersistentCollection {#18902 …}
    +followers: Doctrine\ORM\PersistentCollection {#18904 …}
    +blocks: Doctrine\ORM\PersistentCollection {#18906 …}
    +blockers: Doctrine\ORM\PersistentCollection {#18908 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#18910 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#18912 …}
    +reports: Doctrine\ORM\PersistentCollection {#18914 …}
    +favourites: Doctrine\ORM\PersistentCollection {#18916 …}
    +violations: Doctrine\ORM\PersistentCollection {#18918 …}
    +notifications: Doctrine\ORM\PersistentCollection {#18920 …}
    +awards: Doctrine\ORM\PersistentCollection {#18922 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#18924 …}
    +categories: Doctrine\ORM\PersistentCollection {#18926 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#18928 …}
    +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 {#18875
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 16.0 MiB 1.94 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#19036
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#391 …}
  -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 0.30 ms
Input props
[
  "magazine" => App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#19123
  +magazine: App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      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 1.15 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#19182
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#19183 …}
  -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 1.93 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#19253
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#19252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#3437 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 18.0 MiB 1.64 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#19323
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#19322 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#3437 …}
}
support_us_block App\Twig\Components\SupportUsBlock 18.0 MiB 0.27 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#19392
  +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 {#19393 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 18.0 MiB 0.73 ms
Input props
[
  "magazine" => App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#19485
  +magazine: App\Entity\Magazine {#307
    +icon: Proxies\__CG__\App\Entity\Image {#288 …}
    +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 {#317
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#279 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#275 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#264 …}
    +entries: Doctrine\ORM\PersistentCollection {#222 …}
    +posts: Doctrine\ORM\PersistentCollection {#180 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#242 …}
    +bans: Doctrine\ORM\PersistentCollection {#159 …}
    +reports: Doctrine\ORM\PersistentCollection {#145 …}
    +badges: Doctrine\ORM\PersistentCollection {#123 …}
    +logs: Doctrine\ORM\PersistentCollection {#113 …}
    +awards: Doctrine\ORM\PersistentCollection {#102 …}
    +categories: Doctrine\ORM\PersistentCollection {#89 …}
    -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 {#311
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#310
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#391 …}
}