Welcome to MousePaw Media! We're really excited to have you join us.
For many, Phabricator is a new (and somewhat overwhelming) environment. We want to make your transition as smooth as possible, so we've collected a number of Frequently Asked Questions, and a few Frequently Anticipated Questions too, into this wiki page.
If you want to jump right to a question, click the "hamburger menu" (the one with the three lines) to the left of the this page's title, and select the question you want.
If you can't find the answer you need, feel free to ask a new one on [[ /ponder | Ponder ]].
== How do I get started?
You've already completed the first step: registering for an account here on Phabricator! Your next step depends on what you want to do, but it may help to know what the most important applications here do:
* Issue Tracker: [[ /manifest | Manifest ]] (Think GitHub Issues)
* Code Review: [[ /differential | Differential ]] (Think GitHub Pull Request.)
* Repository Browser: [[ /diffusion | Diffusion ]] (Think GitHub Code.)
* Post-Commit Code Review: [[ /audit | Audit ]] (No GitHub equivalent!)
* Wiki: [[ /phriction | Phriction ]] (Think GitHub Wiki.)
* Chat: [[ /conpherence | Conpherence ]] (To keep it always open, click the Chat icon in the upper-left corner and check {nav Persistent Chat}.)
* Q&A: [[ /ponder | Ponder ]] (Think StackOverflow)
* Project Manager/Workboards: [[ /project | Project ]] (Think GitHub Projects)
* Pastebin: [[ /paste | Paste ]] (Think GitHub Gist)
* Graphics Review: [[ /pholio | Pholio ]] (No GitHub equivalent)
* CI/CD: [[ /herald | Herald ]] → [[ /harbormaster | Harbormaster ]] → [[ https://jenkins.mousepawmedia.net | Jenkins ]] (Think GitHub Actions).You won't really do much with this directly, You won't really do much with this directly, but you'll probably see feedback from it.)
If you're more familiar with another platform, see [[ map ]] to see mappings between other platforms and Phabricator.
The rest of this guide will give you specifics on when and how to use these applications.
== Where do I report bugs?
You can report a bug with any of our projects from [[ /maniphest | Maniphest ]]. From the upper-right corner, select {nav Create Task > Bug Report}, and use the template. Your bug report will be automatically marked to get our attention.
== Where can I suggest features?
You can suggest a feature from [[ /maniphest | Maniphest ]]. From the upper-right corner, select {nav Create Task > Feature Request}, and use the template. Your feature request will be automatically marked to get our attention.
== What can I work on?
We have special #help_wanted_control and #low-hanging_fruit_control that make it easy to find tasks that are up-for-grabs. You can browse through [[ /maniphest | Maniphest ]] directly, or use the [[ /home/menu/view/373/ | Task Finder Dashboard ]] to locate a task.
Otherwise, if there's a specific project you want to work on, it's easiest to get started if you jump into the conversation on the [[ /conpherence/51 | Conpherence: Water Cooler ]] chatroom, or in the comments section on an open task you find interesting. We try to include open source contributors as much as possible, but we have to know which project you're interested in.
P.S. We have a number of projects and tasks in backlog that are up-for-grabs, but might not be apparent at first glance. Chatting with us is a great way to get in on development.
== How do I join a project?
Joining a project gives you some additional privileges, and notifies us that you're interested in helping out with it! (You can leave the project again at any time.)
To join a project:
1. Go to [[ /project | Projects ]], click the name of the project you wish to join.
2. Select {nav Members} at left.
3. Click {nav Join Project} at right.
== How do I learn more about your projects, from a developer's perspective?
The [[ /phriction | Phriction ]] wiki contains all of our project specifications and notes.
== Why can't I edit the wiki?
For the most part, everyone is welcome to edit the wiki. However, for project-based wikis, you must first **Join** the relevant project. (See "How do I join a project?") Once you've done that, you can edit most or all of the wiki pages related to the project.
== How do I download and build the code?
We strongly recommend you start by configuring Git and Arcanist on your system first, following [[ https://mousepawmedia.net/help/tools/gitarc.html | this guide. ]]
Next, browse through [[ /diffusion ]] for the repository you're looking for, click on the repository name to browse it, and then click the green {nav Clone} button in the upper-right corner of the `Code` tab (the default).
A number of our projects have dependencies, so if you're working on any of our C++-based projects, you should plan on cloning the following repositories, at minimum:
* {rLIB}
* {rP}
* {rG}
* {rI}
More information about configuring your system to build our projects can be found on [[ https://mousepawmedia.net/help/guides/building.html | this guide ]].
== How do I submit code?
Code contributions are submitted via [[ /differential | Differential ]]. The best way to create a Differential Revision is via Arcanist, following [[ https://mousepawmedia.net/help/guides/revision.html | this guide ]].
Be sure to watch the Differential Revision you've created, as you may be asked to make further changes or take other actions.
== How do I create a "pull request"/Differential Revision?
See "How do I submit code?".
== Why can't I push/"land" my code?
To push to any of our protected branches (`devel`, `fresh`, `stable`), you must first...
* Create a [[ /differential | Differential Revision ]]. (See "How do I submit code?")
* Get your Differential Revision approved by a Trusted Contributor or Staff member.
* Join the relevant Project (see "How do i join a project?")
== How do I contribute graphics?
We use [[ /pholio | Pholio ]] for all graphics-related review. It enables versioning, descriptions, discussion, and inline comments.
To submit graphics, in Pholio, select {nav Create Mock} in the upper-right corner. Fill out the form, and add //all// of your related images. You can update your existing Pholio Mock later with newer versions of your graphics, if necessary.
== What is a "Trusted Contributor", and how do I become one?
#trusted_contributors_group are people we recognize as being trustworthy with some additional abilities:
* Creating and editing tasks.
* Expanded editing privileges across Phabricator.
* Access to our team newsletter on Phame.
* Access to our Calendar.
* Access to polls on Slowvote.
There's no formal process to being promoted to Trusted Contributor. By contributing code, participating in conversations, and following our [[ https://mousepawmedia.com/communityrules | Community Rules ]], you'll earn our trust.
== How do I set up my development environment?
We've documented that entire process on [[ https://mousepawmedia.net/help/guides/environment.html | Guide: Development Environment ]]. If you notice any errors or omissions from that document, please open a Bug Report against the #network_docs_project tag.
== How do I get in touch with someone?
* The best way to get in touch is via the [[ /conpherence | Conpherence ]] chat system, usually in the [[ /conpherence/51/ | Lobby ]] room. We promise we won't intentionally ignore you, so if your message happens to get lost in backlog, just try again.
* You can private message anyone on Phabricator by going to [[ /conpherence | Conpherence ]]. clicking the {nav +} button next to `Rooms` on the upper-left, and creating a private chat with anyone you want to directly talk to. However, we do recommend keeping conversations largely in the group rooms, so everyone can get involved.
* You can also leave comments on nearly anything on Phabricator, although you should notice who is marked as Subscriber if you're hoping to get our attention. Feel free to add any of the staff as subscribers on anything you want our attention on.
* If all else fails, you can email any of us directly. Our email addresses are the same as our usernames, at `mousepawmedia.com` (//not// `.net`!)
== How do I find out who's staff?
The staff list is visible on [[ /project/members/53/ | Projects: Staff (Group): Members ]].
== Can I collaborate directly?
Absolutely! We make frequent use of **Visual Studio Code Live Share**.
Watch the [[ /conpherence | Conpherence ]] chat rooms for Live Share links if you want to drop in on one of our open coding or pair programming sessions, or reach out to the staff if you'd like to schedule live collaboration. We can't always accommodate everyone, but we try to be as available as possible.
== How do I report a violation of the Community Rules?
We endeavor to make MousePaw Media a safe and diverse community, and we're intolerant of intolerance. If you feel someone has violated the Community Rules, or feel unsafe, harassed, or discriminated against for any reason, please contact `developers@mousepawmedia.com`.