Hello users of Hexbear, we are excited to start our next volunteer drive!

If you wish to contribute to https://bulletins.hexbear.net/ please visit https://git.chapo.chat/hexbear-collective/bulletins/src/branch/main/CONTRIBUTING.md and follow the instructions, if you need assistance reach out to Layla via Matrix Ella via Matrix or me via Matrix or @SeventyTwoTrillion

If you wish to contribute to site development please refer to here as our current Dev Volunteer Focus is to fork Lemmy again, this time deliberately not diverging too far from upstream so it's easier to maintain the patches and apply them on top of each new Lemmy release.

This is a large undertaking. There is no timeline, but we expect it to be a while before the site is migrated over to the finished fork.

We're still in the early stages, but the more people involved the sooner we can progress. Primarily, we need developers (Rust & TypeScript) and ops/infrastructure people. Please reach out to Layla via Matrix

Ella via Matrix or me via Matrix If you're interested in helping out. If you need help setting it up, let me know.

For more information contributing to the dev side of Hexbear please refer to this post

Anyone interested in moderating a community please send an application with the communities you would like to moderate included.

If you wish to create a new community briefly describe what it would be in a comment, in addition to sending in a mod application

Please comment to show interest or go ahead and begin the application process.

Create an Element account and send the following application via Matrix

The answers will be reviewed by the admin team, and applications will not be copied into unencrypted communication without your permission.

Application

What is your Hexbear username?

Do you have any preferred pronouns?

What are your thoughts on capitalism?

What are your thoughts on imperialism?

What are your thoughts on trans rights?

What are your thoughts on Black Lives Matter and the recent protests?

What do those protests tell you?

What are your thoughts on Veganism and Animal Liberation?

Do you have any experience with other leftist online communities? What did those experiences teach you?

What is your approach to moderation and how do you work with teams?

Do you have an account with Reddit, Discord, or Twitter? If so, may we review them?

How do you deal with online drama and people who try to start things for the sake of it?

What current comms would you be interested in moderating? Do you have any ideas for community engagement?

What is your general time availability? (Time zone, amounts, common browsing times, etc)

Element information

Element is a messaging app that lets you talk to people over the Matrix protocol.

To get started, check out this link, where you can choose to either download Element for your platform or, if on a computer, open it in a browser ("Launch Element Web").

The instructions that follow are for the desktop application and the web application, but the process is similar on all apps:

  • Press "Create Account"
  • We host our own Matrix server, so if you want you can change matrix.org to chapo.chat. This is completely optional; users who sign up with a matrix.org username can still talk to people with chapo.chat username. (Note: It is chapo.chat, not hexbear.net. Also, registrations aren't always open on chapo.chat; if they're not, just create an account on matrix.org)
  • Fill in a username and password
  • Hit register, and you're done!
  • layla
    ·
    edit-2
    2 years ago

    Can you add me to the list of people to contact about getting involved in Hex Dev/the bulletins site? I can get people set up now

  • Sphere [he/him, they/them]
    ·
    2 years ago

    So I already have access to the dev channel on Matrix, but I'll ask here anyway: is there a reference or guide for pulling down the source code and getting a staging environment set up? (Or, failing that, is there something like that for Lemmy?)

    If not I'll bother people in the channel, and maybe write my own once I get it working.

    • HexbearIntern [they/them]
      ·
      2 years ago

      Honestly, if you can read a c-like syntax, you can get up to speed with rust in like half an hour. At least enough to work in this codebase, anyway. We aren’t writing much low-level stuff that needs the borrow checker

  • footfaults [none/use name]
    ·
    edit-2
    2 years ago

    We really need the former devs to expand upon this post, to determine what series of patches are important to carry forward / rebase onto lemmy's main branch of development, and perhaps some very detailed notes around decisions that they made.

    Currently, hexbear's main and lemmy's main have a difference of

     937 files changed, 42504 insertions(+), 55162 deletions(-)
    

    Which is a lot of files. At what git commit, or upstream Lemmy version was Hexbear forked at?

    Running the typical method of finding where two branches diverged is giving me odd results.

    git merge-base origin/main upstream/main
    064d7f84b25236195eeb33a8671935bc9df37e57
    

    This is a very strange commit to use as the basis for a common ancestor, but I see that almost after the initial commit to Lemmy, there was a huge alternate branch of development created, between the main branch and the actual tagged release. So, honestly Lemmy from the start has had a completely fucked Git history.

    Author:			Dessalines <tyhou13@gmx.com>
    Date:			3 years ago (2/14/2019 12:36:53 PM)
    Commit hash:	dfbcb228c0ac1cf81fdc76c87269221da6d54263
    Child:			21f9625a
    Parent:			8ece275d
    
    Adding README.
    Contained in branches:
    main
    Contained in tags:
    0.10.0
    0.10.0-rc.10
    0.10.0-rc.12
    0.10.0-rc.13
    0.10.0-rc.5
    0.10.0-rc.7
    0.10.0-rc.8
    0.10.0-rc.9
    0.10.1
    0.10.2
    [ Show all ]
    
    
    Derives from no tag
    
    Author:			Dessalines <happydooby@gmail.com>
    Date:			3 years ago (2/14/2019 12:36:53 PM)
    Commit hash:	fdaa4c59f5dcc49bd4c702adb1f9c39b413f5cb5
    Child:			e86930bd
    Parent:			8ece275d
    
    Adding README.
    Contained in no branch
    Contained in tags:
    v0.0.1
    v0.0.2
    v0.0.3
    v0.0.5
    v0.0.6
    v0.0.7
    v0.0.7.3
    v0.0.7.6
    v0.0.8
    v0.0.8.4
    [ Show all ]
    
    
    Derives from no tag
    

    I am guessing that the branch point for Hexbear's lemmy instance was off a tagged release of Lemmy upstream?

    Anyway that's just some things I saw, when I decided to take a look.

    • footfaults [none/use name]
      ·
      edit-2
      2 years ago

      fork Lemmy again

      Oh, I also want to say that, given the fact that one forked version of Lemmy that HexBear is running on has bit-rotted, why would you go and do the same strategy again, and risk having a second fork start diverging from upstream and then be abandoned by another set of developers?

      I think more work needs to be done to go back to upstream Lemmy and contribute directly to upstream, rather than trying to maintain a fork. Meaning, extract the meaningful and important code changes from the current fork, evaluate what could be applied to a more recent version of upstream Lemmy, migrate Hexbear.com to that version, work on upstreaming those patches back into Lemmy upstream, and slowly converge towards getting a version of Hexbear.com that runs using 100% upstream Lemmy, and have features be developed against upstream Lemmy.

      This will be a multi-year process. The hole got dug, now we need to dig ourselves out.

      • CARCOSA [they/them]
        hexagon
        A
        ·
        2 years ago

        This is pretty much what has been going on and notable progress has been made towards that goal.

        • footfaults [none/use name]
          ·
          2 years ago

          I imagined so. I just didn't see it documented anywhere so I figured throwing a guess out as to what needs to be done would generate discussion

      • PorkrollPosadist [he/him, they/them]M
        ·
        edit-2
        2 years ago

        Ultimately the goal is winding down the scope of the project as much as possible, so that maintenance becomes manageable. Getting all of our changes upstreamed to Lemmy would bring maintenance down to zero, but there are certain features which have been rejected, so this isn't possible. We need to maintain some amount of custom features, and the best way to do it seems to be reimplementing them cleanly on top of Lemmy in a way which has minimal impact on the APIs, database structure, and unrelated code.

        This should make rebasing hexbear on Lemmy releases relatively trivial (it is basically impossible currently), and should also make it easier to pitch new features over to them if they want them.

        Indeed, we should consult them before developing new features, to maximize the likelyhood of their inclusion upstream, but they won't accept all of it.

      • MtF_DOOM [she/her,they/them]
        ·
        edit-2
        2 years ago

        I think more work needs to be done to go back to upstream Lemmy and contribute directly to upstream, rather than trying to maintain a fork. Meaning, extract the meaningful and important code changes from the current fork, evaluate what could be applied to a more recent version of upstream Lemmy, migrate Hexbear.com to that version, work on upstreaming those patches back into Lemmy upstream, and slowly converge towards getting a version of Hexbear.com that runs using 100% upstream Lemmy, and have features be developed against upstream Lemmy.

        That’s the exact plan iirc, although I haven’t been involved with the project for a while. “Reforking” is probably imprecise phrasing to describe this newest effort. Scope for this current work is developing a patch for upstream Lemmy with the minimum amount of changes that we can have.

        Easy example of why running 100% of Lemmy isn’t feasible:

        From what I remember, the main Lemmy devs were uninterested in pronoun tags. That’s ironic considering it’s a more effective way to piss off bigots and reactionaries than the extremely clunky hardcoded slur filter.

        The site admins and maintainers of this project probably have a good working relationship with the Lemmy devs they want to maintain, which I understand. I personally decided to focus on other projects previously after giving up on the Lemmy devs extremely slow turnaround on accepting any PRs upstream.

        That was before this patching strategy was announced, which I might volunteer for, although I’m currently dealing with health / medical problems that limit how much knowledge work I can do.


        Final edit:

        If anyone here knows the lemmy devs, I would strongly suggest pitching pronoun tags to them as a way to deter bigots / reactionaries.

        I hope they’re not personally against pronouns for ideological reasons, but if they are that is also something I think myself and other trans people would like to know.

        • PorkrollPosadist [he/him, they/them]M
          ·
          2 years ago

          Example of why running 100% of Lemmy isn’t feasible: From what I remember, the main Lemmy devs were uninterested in pronoun tags

          This is partially due to the quality of the code. IIRC, they were initially interested in a user tagging system, which is why I think a fresh proposal emulating the way Mastodon does this is worth it. This data is already federated in practice (on Masto) and we could potentially bring compatibility with the same protocol over to Lemmy. I need to catch up with the current state of Lemmy though.

          • MtF_DOOM [she/her,they/them]
            ·
            2 years ago

            Expanded my comment right before you commented, sorry! Are you involved with this newest effort? That’s really encouraging, I recognize you from around the original dev project.

          • MtF_DOOM [she/her,they/them]
            ·
            edit-2
            2 years ago

            they were initially interested in a user tagging system, which is why I think a fresh proposal emulating the way Mastodon does this is worth it. This data is already federated in practice (on Masto) and we could potentially bring compatibility with the same protocol over to Lemmy

            Separate thought: Pronouns for users seems like a separate feature than general user tags, though, correct? I’m trying to imagine how that would work for federation.

            Having pronouns and general user tags as the same feature seems like it would fill the site with a bunch of randos from other lemmy instances with user tags that then displayed in the pronoun field here with phrases like “cum/town” or “PROUD PATSOC”.

            Hoping the Lemmy devs have a plan for this, honestly a little surprised they seem to be focused on trying to shoe-horn pronouns in.

            Edit: whoops, triple posted

    • CARCOSA [they/them]
      hexagon
      A
      ·
      2 years ago

      Would be happy to discuss in a dedicated dev space so others can give more info but the goal is to create a lemmy patch with the important hexbear changes added to upstream lemmy, refork and not diverge so that we can stay current & federate.

      If you are wanting more info, a better explanation or to contribute please reach out via element. Thank you

      • footfaults [none/use name]
        ·
        edit-2
        2 years ago

        Element/matrix/irc is okay for coordinating small things, but when I was developing on a large open source project the primary way of discussion was email and blueprints (on launchpad) and design docs that were authored and reviewed in Gerrit. Meetings with set agendas on Freenode for set times.

        I'll consider joining element but I would suggest discussing here or in another post where long form text discussion is available

      • footfaults [none/use name]
        ·
        edit-2
        2 years ago

        Is the TypeScript backend running Hexbear.com right now? If so the site is in an even worse position than I first thought. I had thought that the TS backend had fizzled out and never went to production.

  • Archivist [comrade/them]
    ·
    edit-2
    2 years ago

    What is an area of the codebase that the team is excited about right now? Any new features planned for the fork or new features we’ll get from modern Lemmy?

    • HexbearIntern [they/them]
      ·
      edit-2
      2 years ago

      There’s some discussion involving how to borrow tag features from Mastodon to get pronouns to federate. The parts of the API that have deviated from upstream are going to be separated out so they can be maintained as a light patch on top of vanilla Lemmy (featured posts, for example). And once we have feature parity, we can start the migration and finally enable federation and user blocks

    • CARCOSA [they/them]
      hexagon
      A
      ·
      2 years ago

      Yeah for sure anyone interested hit me up and I'll get you added

  • solaranus
    ·
    edit-2
    1 year ago

    deleted by creator

  • PutinsLeftNipple [she/her]
    ·
    2 years ago

    I am interested, but I am currently in the process of renos and don't have the time to commit. I should have more free time around the start of September, so I will look into contributing around then. Also, I assume there are restrictions on contributing based on account age? I had an old account on here but I decided to make a new one bc my old account had too much personal info on it.

    • CARCOSA [they/them]
      hexagon
      A
      ·
      2 years ago

      Feel free to reach out whenever you are ready and we will get you set up, thank you!