0 Post Launch Hit List (by committee)
alltheseteeth edited this page 1 year ago

Post-Launch Hit List

Overview

The intention is not to replace the issues page, but to have a broad 1000-foot overview of what each team is planning on working on outside of bugfix and usability improvements in the relative short-term.

Longer-term goals would be a separate document or the #wishlist channel on Discord.

Operations

Infrastructure

  • More Servers

    We have two servers currently: One as the 'main' server for dev.chapo.chat and www.chapo.chat, and one for mail.chapo.chat. We need additional servers to spin up every step below, so scoping properly and purchasing should be top priority.

  • Self-Hosted Git

    Leaning towards Gitea

  • Replacement CI/CD Pipeline

    Drone feels like an easy swap

  • Self-Hosted Matrix homeserver

    As much as I'd like to try one of the Go/C++/Rust variants, they are all very much alpha, so we'll have to stick with Synapse for now.

  • Self-hosted URL shortener

    Something like Polr, so we can make API calls to it (for the main chapochat) as well as chapo-branded bitly-style stuff

Security

  • Self-hosted secret vault

    Rather than baking in or messing with secrets, we should use something like Hashicorp Vault, where we do a secure request and inject it at buildtime/runtime. It also supports dynamic secret replacement, where it regularly changes secrets programatically and you still just get the latest secret when necessary.

  • Self-hosted password vault

    Currently we're using the cloud-hosted Bitwarden to store usernames and passwords. It's fine for now, but it might be worth looking into eventually swapping over to self-hosted, and leaving just the information on how to access the servers themselves in the cloud-hosted one (in case of lockout, etc).

Front End

Breakout frontend work

We're very far removed from the Lemmy frontend at this point, and I don't think we can backfill a lot of our work into the frontend. As a priority, we should probably think about what it will take to split out the frontend into it's own repo (do we need to use static file hosting to put it somewhere, do we need it's own image, etc)

Inferno to React

  • Details Here
  • Goal: Migrate from inferno.js and fusebox to React and Parcel (lightweight bundler)
  • Motivations:
    • Inferno has super limited compatibility with the huge React ecosystem of components
    • Inferno does not have hooks, which make it a lot easier to share logic between components
    • React is licensed under the MIT license, and we will always have the option of forking the repo if we need to in the future

Back End

Rust

  • Breakout backend work

    To maintain compatibility with upstream, we need to make sure our backend work is contributed back. Ideally, backend work can be done directly on the mainline Lemmy repo, and our frontend work is in our own repo, and the build process combines the two.

    • Merge Back Bown Upstream changes

      To get the API endpoint split among other things

Individual MRs need to be produced for the following features:

  • Reporting API
    • Rework in progress
    • Documentation needs to be updated
  • Tag API
    • Incomplete, rework pending
  • Community Settings API
    • Documentation needs work
  • Community Creation Toggle
    • Documentation needs work.

Additionally, these feature could use MRs, but I'm not sure if they are desired upstream

  • hCaptcha API changes
    • Needs integration with site settings interface
    • Needs formal documentation

Database

  • Serverside Treeorder Sorting

    add ltrees and get this working so the front-end peeps have an easier life.

  • Serial to UUID move

    this is an important move that upstream will likely want before they complete federation.

  • URL slugs

    pretty urls.

Design

  • More Cool Pictures

    I want more cool pictures