Select the types of activity you want to include in your feed.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
···11@title Contributing Bug Reports
22@group detail
3344-Describes how to file an effective Phabricator bug report.
55-66-Level Requirements
77-==================
88-99-We accept bug reports through two channels: paid support and community
1010-support.
1111-1212-If you are a paying customer, use the
1313-[[ https://admin.phacility.com/u/support | Support Channel ]] for your account
1414-to report bugs. This document may help you file reports which we can resolve
1515-more quickly, but you do not need to read it or follow the guidelines.
1616-1717-Other users can follow the guidelines in this document to file bug reports on
1818-the community forum.
1919-2020-2121-Overview
2222-========
2323-2424-This article describes how to file an effective Phabricator bug report.
44+Effective June 1, 2021: Phabricator is no longer actively maintained and no longer accepts bug reports.
2552626-The most important things to do are:
2727-2828- - check the list of common fixes below;
2929- - make sure Phabricator is up to date;
3030- - make sure we support your setup;
3131- - gather debugging information; and
3232- - explain how to reproduce the issue.
3333-3434-The rest of this article walks through these points in detail.
3535-3636-For general information on contributing to Phabricator, see
3737-@{article:Contributor Introduction}.
3838-3939-4040-Common Fixes
4141-============
4242-4343-Before you file a report, here are some common solutions to problems:
4444-4545- - **Update Phabricator**: We receive a lot of bug reports about issues we have
4646- already fixed in HEAD. Updating often resolves issues. It is common for
4747- issues to be fixed in less than 24 hours, so even if you've updated recently
4848- you should update again. If you aren't sure how to update, see the next
4949- section.
5050- - **Update Libraries**: Make sure `arcanist/` and `phabricator/` are all up
5151- to date. Users often update `phabricator/` but forget to update `arcanist/`.
5252- When you update, make sure you update all three libraries.
5353- - **Restart Apache or PHP-FPM**: Phabricator uses caches which don't get
5454- reset until you restart Apache or PHP-FPM. After updating, make sure you
5555- restart.
5656-5757-5858-Update Phabricator
5959-==================
6060-6161-Before filing a bug, make sure you are up to date. We receive many bug reports
6262-for issues we have already fixed, and even if we haven't fixed an issue we'll
6363-be able to resolve it more easily if you file a report based on HEAD. (For
6464-example, an old stack trace may not have the right line numbers, which will
6565-make it more difficult for us to figure out what's going wrong.)
6666-6767-To update Phabricator, use a script like the one described in
6868-@{article:Upgrading Phabricator}.
6969-7070-**If you can not update** for some reason, please include the version of
7171-Phabricator you are running when you file a report.
7272-7373-For help, see @{article:Providing Version Information}.
7474-7575-7676-Supported Issues
7777-================
7878-7979-Before filing a bug, make sure you're filing an issue against something we
8080-support.
8181-8282-**We can NOT help you with issues we can not reproduce.** It is critical that
8383-you explain how to reproduce the issue when filing a report.
8484-8585-For help, see @{article:Providing Reproduction Steps}.
8686-8787-**We do NOT support prototype applications.** If you're running into an issue
8888-with a prototype application, you're on your own. For more information about
8989-prototype applications, see @{article:User Guide: Prototype Applications}.
9090-9191-**We do NOT support third-party packages or instructions.** If you installed
9292-Phabricator (or configured some aspect of it) using a third-party package or by
9393-following a third-party guide (like a blog post), we can not help you.
9494-Phabricator changes quickly and third-party information is unreliable and often
9595-falls out of date. Contact the maintainer of the package or guide you used,
9696-or reinstall following the upstream instructions.
9797-9898-**We do NOT support custom code development or third-party libraries.** If
9999-you're writing an extension, you're on your own. We provide some documentation,
100100-but can not help you with extension or library development. If you downloaded a
101101-library from somewhere, contact the library maintainer.
102102-103103-**We do NOT support bizarre environments.** If your issue is specific to an
104104-unusual installation environment, we generally will not help you find a
105105-workaround. Install Phabricator in a normal environment instead. Examples of
106106-unusual environments are shared hosts, nontraditional hosts (gaming consoles,
107107-storage appliances), and hosts with unusually tight resource constraints. The
108108-vast majority of users run Phabricator in normal environments (modern computers
109109-with root access) and these are the only environments we support.
110110-111111-Otherwise, if you're having an issue with a supported first-party application
112112-and followed the upstream install instructions on a normal computer, we're happy
113113-to try to help.
114114-115115-116116-Getting More Information
117117-========================
118118-119119-For some issues, there are places you can check for more information. This may
120120-help you resolve the issue yourself. Even if it doesn't, this information can
121121-help us figure out and resolve an issue.
122122-123123- - For issues with `arc` or any other command-line script, you can get more
124124- details about what the script is doing by adding the `--trace` flag.
125125- - For issues with Phabricator, check your webserver error logs.
126126- - For Apache, this is often `/var/log/httpd/error.log`, or
127127- `/var/log/apache2/error.log` or similar.
128128- - For nginx, check both the nginx and php-fpm logs.
129129- - For issues with the UI, check the Javascript error console in your web
130130- browser.
131131- - Some other things, like daemons, have their own debug flags or
132132- troubleshooting steps. Check the documentation for information on
133133- troubleshooting. Adjusting settings or enabling debugging modes may give
134134- you more information about the issue.
135135-136136-137137-Reproducibility
138138-===============
139139-140140-The most important part of your report content is instructions on how to
141141-reproduce the issue. What did you do? If you do it again, does it still break?
142142-Does it depend on a specific browser? Can you reproduce the issue on a test
143143-instance on `admin.phabricator.com`?
144144-145145-It is nearly impossible for us to resolve many issues if we can not reproduce
146146-them. We will not accept reports which do not contain the information required
147147-to reproduce problems.
148148-149149-For help, see @{article:Providing Reproduction Steps}.
150150-151151-152152-File a Bug Report
153153-=================
154154-155155-If you're up to date, have collected information about the problem, and have
156156-the best reproduction instructions you can come up with, you're ready
157157-to file a report.
158158-159159-It is **particularly critical** that you include reproduction steps.
160160-161161-You can file a report on the community forum, here:
162162-163163-(NOTE) https://discourse.phabricator-community.org/c/bug
164164-165165-166166-Next Steps
167167-==========
168168-169169-Continue by:
170170-171171- - reading general support information in @{article:Support Resources}; or
172172- - returning to the @{article:Contributor Introduction}.
+1-235
src/docs/contributor/contributing_code.diviner
···11@title Contributing Code
22@group detail
3344-Describes how to contribute code to Phabricator.
55-66-Level Requirements
77-==================
88-99-To contribute to the Phabricator upstream, you must first pass a series of
1010-ancient trials and be invited to register an account in the ancestral
1111-homeland of Phabricator, here on `secure.phabricator.com`. The nature and
1212-location of these trials is a closely guarded secret.
1313-1414-If you have passed these trials, this document can guide you through
1515-contributing code.
1616-1717-If you have not yet passed these trials, writing code is normally not the best
1818-way to contribute to Phabricator. See @{article:Contributor Introduction} for
1919-more information.
2020-2121-2222-Overview
2323-========
2424-2525-If you're planning to send a patch to Phabricator, this guide can help you
2626-through the process. The most important parts of contributing code to
2727-Phabricator are:
2828-2929- - File a task with a bug report or feature request //before// you write code.
3030- - We rarely accept patches which we haven't discussed first.
3131- - We do not accept patches against prototype applications.
3232- - You must sign the CLA.
3333- - We do not accept GitHub pull requests.
3434- - Some alternative approaches are available if your change isn't something
3535- we want to bring upstream.
3636-3737-The rest of this article describes these points in more detail, and then
3838-provides guidance on writing and submitting patches.
3939-4040-If you just want to contribute some code but don't have a specific bug or
4141-feature in mind, see the bottom of this document for tips on finding ways to get
4242-started.
4343-4444-For general information on contributing to Phabricator, see
4545-@{article:Contributor Introduction}.
4646-4747-4848-Coordinate First
4949-================
5050-5151-Before sending code, you should file a task describing what you'd like to write.
5252-5353-When you file a task, mention that you'd like to write the code to fix it. We
5454-can help contextualize your request or bug and guide you through writing an
5555-upstreamable patch, provided it's something that's upstreamable. If it isn't
5656-upstreamable, we can let you know what the issues are and help find another
5757-plan of attack.
5858-5959-You don't have to file first (for example, if you spot a misspelling it's
6060-normally fine to just send a diff), but for anything even moderately complex
6161-you're strongly encouraged to file first and coordinate with the upstream.
6262-6363-6464-Rejecting Patches
6565-=================
6666-6767-If you send us a patch without coordinating it with us first, it will probably
6868-be immediately rejected, or sit in limbo for a long time and eventually be
6969-rejected. The reasons we do this vary from patch to patch, but some of the most
7070-common reasons are:
7171-7272-**Unjustifiable Costs**: We support code in the upstream forever. Support is
7373-enormously expensive and takes up a huge amount of our time. The cost to support
7474-a change over its lifetime is often 10x or 100x or 1000x greater than the cost
7575-to write the first version of it. Many uncoordinated patches we receive are
7676-"white elephants", which would cost much more to maintain than the value they
7777-provide.
7878-7979-As an author, it may look like you're giving us free work and we're rejecting it
8080-as too expensive, but this viewpoint doesn't align with the reality of a large
8181-project which is actively supported by a small, experienced team. Writing code
8282-is cheap; maintaining it is expensive.
8383-8484-By coordinating with us first, you can make sure the patch is something we
8585-consider valuable enough to put long-term support resources behind, and that
8686-you're building it in a way that we're comfortable taking over.
8787-8888-**Not a Good Fit**: Many patches aren't good fits for the upstream: they
8989-implement features we simply don't want. Coordinating with us first helps
9090-make sure we're on the same page and interested in a feature.
9191-9292-The most common type of patch along these lines is a patch which adds new
9393-configuration options. We consider additional configuration options to have
9494-an exceptionally high lifetime support cost and are very unlikely to accept
9595-them. Coordinate with us first.
9696-9797-**Not a Priority**: If you send us a patch against something which isn't a
9898-priority, we probably won't have time to look at it. We don't give special
9999-treatment to low-priority issues just because there's code written: we'd still
100100-be spending time on something lower-priority when we could be spending it on
101101-something higher-priority instead.
102102-103103-If you coordinate with us first, you can make sure your patch is in an area
104104-of the codebase that we can prioritize.
105105-106106-**Overly Ambitious Patches**: Sometimes we'll get huge patches from new
107107-contributors. These can have a lot of fundamental problems and require a huge
108108-amount of our time to review and correct. If you're interested in contributing,
109109-you'll have more success if you start small and learn as you go.
110110-111111-We can help you break a large change into smaller pieces and learn how the
112112-codebase works as you proceed through the implementation, but only if you
113113-coordinate with us first.
114114-115115-**Generality**: We often receive several feature requests which ask for similar
116116-features, and can come up with a general approach which covers all of the use
117117-cases. If you send us a patch for //your use case only//, the approach may be
118118-too specific. When a cleaner and more general approach is available, we usually
119119-prefer to pursue it.
120120-121121-By coordinating with us first, we can make you aware of similar use cases and
122122-opportunities to generalize an approach. These changes are often small, but can
123123-have a big impact on how useful a piece of code is.
124124-125125-**Infrastructure and Sequencing**: Sometimes patches are written against a piece
126126-of infrastructure with major planned changes. We don't want to accept these
127127-because they'll make the infrastructure changes more difficult to implement.
128128-129129-Coordinate with us first to make sure a change doesn't need to wait on other
130130-pieces of infrastructure. We can help you identify technical blockers and
131131-possibly guide you through resolving them if you're interested.
132132-133133-134134-No Prototype Changes
135135-====================
136136-137137-With rare exceptions, we do not accept patches for prototype applications for
138138-the same reasons that we don't accept feature requests or bug reports. To learn
139139-more about prototype applications, see
140140-@{article:User Guide: Prototype Applications}.
141141-142142-143143-You Must Sign the CLA
144144-=====================
145145-146146-Before we can accept source code contributions, you need to submit a
147147-[[ https://secure.phabricator.com/L28 | Contributor License Agreement ]]. Your
148148-changes can not be accepted until you sign the agreement.
149149-150150-If you haven't signed it by the time you send changes for review, you'll be
151151-reminded to sign it at that time.
152152-153153-If you're submitting work on behalf of a company (like your employer), the
154154-company can sign the [[ https://secure.phabricator.com/L30 | Corporate
155155-Contributor License Agreement ]] instead.
156156-157157-Both agreements are substantially similar to the Apache Foundation's CLAs. They
158158-protect Phacility and users of Phabricator by making sure we have permission to
159159-distribute your changes under an open source license.
160160-161161-162162-No Pull Requests
163163-================
164164-165165-We do not accept pull requests on GitHub:
166166-167167- - We can not monitor who has signed CLAs on GitHub. You must sign the CLA
168168- to contribute, and we can't tell if you've signed it or not when you send
169169- us a pull request.
170170- - Pull requests do not get lint and unit tests run, so issues which are
171171- normally caught statically can slip by.
172172- - Phabricator is code review software, and developed using its own workflows.
173173- Pull requests bypass some of these workflows (for example, they will not
174174- trigger Herald rules to notify interested parties).
175175- - GitHub is not the authoritative master repository and we maintain a linear
176176- history, so merging pull requests is cumbersome on our end.
177177- - If you're comfortable enough with Phabricator to contribute to it, you
178178- should also be comfortable using it to submit changes.
179179-180180-Instead of sending a pull request, use `arc diff` to create a revision on the
181181-upstream install. Your change will go through the normal Phabricator review
182182-process.
183183-184184-(GitHub does not allow repositories to disable pull requests, which is why
185185-it's technically possible to submit them.)
186186-187187-188188-Alternatives
189189-============
190190-191191-If you've written code but we're not accepting it into the upstream, some
192192-alternative approaches include:
193193-194194-**Maintain a local fork.** This will require some ongoing effort to port your
195195-changes forward when you update, but is often very reasonable for simple
196196-changes.
197197-198198-**Develop as an application.** Many parts of Phabricator's infrastructure are
199199-modular, and modularity is increasing over time. A lot of changes can be built
200200-as external modules or applications without forking Phabricator itself. There
201201-isn't much documentation or support for this right now, but you can look at
202202-how other applications are implemented, and at other third-party code that
203203-extends Phabricator.
204204-205205-**Rise to prominence.** We're more willing to accept borderline changes from
206206-community members who are active, make multiple contributions, or have a history
207207-with the project. This is not carte blanche, but distinguishing yourself can
208208-make us feel more comfortable about supporting a change which is slightly
209209-outside of our comfort zone.
210210-211211-212212-Writing and Submitting Patches
213213-==================
214214-215215-To actually submit a patch, run `arc diff` in `phabricator/` or `arcanist/`.
216216-When executed in these directories, `arc` should automatically talk to the
217217-upstream install. You can add `epriestley` as a reviewer.
218218-219219-You should read the relevant coding convention documents before you submit a
220220-change. If you're a new contributor, you don't need to worry about this too
221221-much. Just try to make your code look similar to the code around it, and we
222222-can help you through the details during review.
223223-224224- - @{article:General Coding Standards} (for all languages)
225225- - @{article:PHP Coding Standards} (for PHP)
226226- - @{article:Javascript Coding Standards} (for Javascript)
227227-228228-In general, if you're coordinating with us first, we can usually provide
229229-guidance on how to implement things. The other articles in this section also
230230-provide information on how to work in the Phabricator codebase.
231231-232232-233233-Next Steps
234234-==========
235235-236236-Continue by:
237237-238238- - returning to the @{article:Contributor Introduction}.
44+Effective June 1, 2021: Phabricator is no longer actively maintained, and no longer accepting contributions.
+1-229
src/docs/contributor/feature_requests.diviner
···11@title Contributing Feature Requests
22@group detail
3344-Describes how to file an effective Phabricator feature request.
55-66-77-Level Requirements
88-==================
99-1010-We accept feature requests through two channels: paid support and community
1111-support.
1212-1313-If you are a paying customer, use the
1414-[[ https://admin.phacility.com/u/support | Support Channel ]] for your account
1515-to request features. This document may help you frame your requests in a way
1616-that lets us address them more quickly, but you do not need to read it or
1717-follow the guidelines.
1818-1919-Other users can file requests on the
2020-[[ https://phurl.io/u/discourse | community forum ]].
2121-2222-2323-Overview
2424-========
2525-2626-This article describes how to file an effective feature request.
2727-2828-The most important things to do are:
2929-3030- - understand the upstream;
3131- - make sure your feature makes sense in the project;
3232- - align your expectations around timelines and priorities;
3333- - describe your problem, not your solution.
3434-3535-The rest of this article walks through these points in detail.
3636-3737-If you have a bug report (not a feature request), see
3838-@{article:Contributing Bug Reports} for a more tailored guide.
3939-4040-For general information on contributing to Phabricator, see
4141-@{article:Contributor Introduction}.
4242-4343-4444-Understanding the Upstream
4545-==========================
4646-4747-Before filing a feature request, it may be useful to understand how the
4848-upstream operates.
4949-5050-The Phabricator upstream is [[ https://www.phacility.com | Phacility, Inc ]].
5151-We maintain total control over the project and roadmap. There is no democratic
5252-process, voting, or community-driven decision making. This model is better
5353-at some things and worse at others than a more community-focused model would
5454-be, but it is the model we operate under.
5555-5656-We have a cohesive vision for the project in the long term, and a general
5757-roadmap that extends for years into the future. While the specifics of how
5858-we get there are flexible, many major milestones are well-established.
5959-6060-Although we set project direction, the community is also a critical part of
6161-Phabricator. We aren't all-knowing, and we rely on feedback to help us identify
6262-issues, guide product direction, prioritize changes, and suggest features.
6363-6464-Feature requests are an important part of this, but we ultimately build only
6565-features which make sense as part of the long term plan.
6666-6767-Since it's hard to absorb a detailed understanding of that vision, //describing
6868-a problem// is often more effective than //requesting a feature//. We have the
6969-context to develop solutions which fit into our plans, address similar use
7070-cases, make sense with the available infrastructure, and work within the
7171-boundaries of our product vision. For more details on this, see below.
7272-7373-7474-Target Audiences
7575-================
7676-7777-Some feature requests support very unusual use cases. Although we are broadly
7878-inclusive of many different kinds of users and use cases, we are not trying
7979-to make the software all things to all users. Use cases which are far afield
8080-from the things the majority of users do with Phabricator often face substantial
8181-barriers.
8282-8383-Phabricator is primarily targeted at software projects and organizations with
8484-a heavy software focus. We are most likely to design, build, and prioritize
8585-features which serve these organizations and projects.
8686-8787-Phabricator is primarily targeted at software professionals and other
8888-professionals with adjacent responsibilities (like project management and
8989-operations). Particularly, we assume users are proficient computer users and
9090-familiar with software development concepts. We are most likely to design, build
9191-and prioritize features which serve these users.
9292-9393-Phabricator is primarily targeted at professionals working in teams on full-time
9494-projects. Particularly, we assume most users will use the software regularly and
9595-are often willing to spend a little more time up front to get a more efficient
9696-workflow in the long run. We are most likely to design, build and prioritize
9797-features which serve these use cases.
9898-9999-Phabricator is not limited to these kinds of organizations, users and use cases,
100100-but features which are aimed at a different group of users (like students,
101101-casual projects, or inexperienced computer users) may be harder to get
102102-upstreamed. Features aimed at very different groups of users (like wedding
103103-planners, book clubs, or dogs) will be much harder to get upstreamed.
104104-105105-In many cases, a feature makes something better for all users. For example,
106106-suppose we fixed an issue where colorblind users had difficulty doing something.
107107-Dogs would benefit the most, but colorblind human users would also benefit, and
108108-no one would be worse off. If the benefit for core users is very small these
109109-kinds of features may be hard to prioritize, but there is no exceptional barrier
110110-to getting them upstreamed.
111111-112112-In other cases, a feature makes something better for some users and worse for
113113-other users. These kinds of features face a high barrier if they make the
114114-software better at planning weddings and worse at reviewing code.
115115-116116-117117-Setting Expectations
118118-====================
119119-120120-We have a lot of users and a small team. Even if your feature is something we're
121121-interested in and a good fit for where we want the product to go, it may take
122122-us a long time to get around to building it.
123123-124124-We work full time on Phabricator, and our long-term roadmap (which we call our
125125-[[ https://secure.phabricator.com/w/starmap/ | Starmap ]]) has many years worth
126126-of work. Your feature request is competing against thousands of other requests
127127-for priority.
128128-129129-In general, we try to prioritize work that will have the greatest impact on the
130130-most users. Many feature requests are perfectly reasonable requests, but have
131131-very little impact, impact only a few users, and/or are complex to develop and
132132-support relative to their impact. It can take us a long time to get to these.
133133-134134-Even if your feature request is simple and has substantial impact for a large
135135-number of users, the size of the request queue means that it is mathematically
136136-unlikely to be near the top.
137137-138138-You can find some information about how we prioritize in
139139-[[ https://secure.phabricator.com/w/planning/ | Planning ]]. In particular,
140140-we reprioritize frequently and can not accurately predict when we'll build a
141141-feature which isn't very near to top of the queue.
142142-143143-As a whole, this means that the overwhelming majority of feature requests will
144144-sit in queue for a long time without any updates, and that we won't be able to
145145-give you any updates or predictions about timelines. One day, out of nowhere,
146146-your feature will materialize. That day may be a decade from now. You should
147147-have realistic expectations about this when filing a feature request.
148148-149149-150150-Describe Problems
151151-=================
152152-153153-When you file a feature request, we need you to describe the problem you're
154154-facing first, not just your desired solution. Describing the problem you are
155155-facing is the **most important part** of a feature request.
156156-157157-Often, your problem may have a lot in common with other similar problems. If we
158158-understand your use case we can compare it to other use cases and sometimes find
159159-a more powerful or more general solution which solves several problems at once.
160160-161161-At other times, we'll have a planned solution to the problem that might be
162162-different from your desired solution but accomplish the same goal. Understanding
163163-the root issue can let us merge and contextualize things.
164164-165165-Sometimes there's already a way to solve your problem that might just not be
166166-obvious.
167167-168168-Finally, your proposed solution may not be compatible with the direction we
169169-want to take the product, but we may be able to come up with another solution
170170-which has approximately the same effect and does fit into the product direction.
171171-172172-If you only describe the solution and not the problem, we can't generalize,
173173-contextualize, merge, reframe, or offer alternative solutions or workarounds.
174174-175175-You must describe the problem you are facing when filing a feature request. We
176176-will not accept feature requests which do not contextualize the request by
177177-describing the root problem.
178178-179179-If you aren't sure exactly what we're after when we ask you to describe a root
180180-problem, you can find examples and more discussion in
181181-@{article:Describing Root Problems}.
182182-183183-184184-Hypotheticals
185185-=============
186186-187187-We sometimes receive hypothetical feature requests about anticipated problems
188188-or concerns which haven't actually occurred yet. We usually can't do much about
189189-these until the problems actually occur, since the context required to
190190-understand and properly fix the root issue won't exist.
191191-192192-One situation where this happens is when installs are thinking about adopting
193193-Phabricator and trying to guess what problems users might encounter during the
194194-transition. More generally, this includes any request like "if users do **X**,
195195-they might find **Y** confusing", where no actual users have encountered
196196-confusion yet.
197197-198198-These requests are necessarily missing important context, maybe including the
199199-answers to questions like these:
200200-201201- - Why did users do **X**?
202202- - What were they trying to do?
203203- - What did they expect to happen?
204204- - How often do users do this?
205205-206206-The answers to these questions are important in establishing that the issue is
207207-really a problem, figuring out the best solution for it, and prioritizing the
208208-issue relative to other issues.
209209-210210-Without knowing this information, we can't be confident that we've found a good
211211-solution to the problem, can't know if we've actually fixed the problem, and
212212-can't even know if the issue was really a problem in the first place (some
213213-hypothetical requests describe problems which no users ever encounter).
214214-215215-We usually can't move forward without this information. In particular, we don't
216216-want to spend time solving hypothetical problems which no real users will ever
217217-encounter: the value of those changes is zero (or negative, by making the
218218-product more complex without providing a benefit), but they consume development
219219-time which could be better spent building much more valuable features.
220220-221221-Generally, you should wait until a problem actually occurs before filing a
222222-request about it.
223223-224224-225225-Next Steps
226226-==========
227227-228228-Continue by:
229229-230230- - learning about @{article: Contributing Bug Reports}; or
231231- - reading general support information in @{article:Support Resources}; or
232232- - returning to the @{article:Contributor Introduction}.
44+Effective June 1, 2021: Phabricator is no longer actively maintained, and there is no way to file a feature request.
+1-88
src/docs/user/support.diviner
···22@short Support
33@group intro
4455-Resources for reporting bugs, requesting features, and getting support.
66-77-Overview
88-========
99-1010-This document describes available support resources.
1111-1212-The upstream provides free support for a narrow range of problems (primarily,
1313-security issues and reproducible bugs) and paid support for virtually anything.
1414-1515-The upstream does not provide free support for general problems with installing
1616-or configuring Phabricator. You may be able to get some help with these
1717-kinds of issues from the community.
1818-1919-2020-Paid Support
2121-============
2222-2323-If you'd like upstream support, see ((pacts)).
2424-2525-This is the only way to request features and the only way to get guaranteed
2626-answers from experts quickly.
2727-2828-2929-Reporting Security Vulnerabilities
3030-==================================
3131-3232-The upstream accepts, fixes, and awards bounties for reports of material
3333-security issues with the software.
3434-3535-To report security issues, see @{article:Reporting Security Vulnerabilities}.
3636-3737-3838-Reporting Bugs
3939-==============
4040-4141-The upstream will accept **reproducible** bug reports in modern, first-party
4242-production code running in reasonable environments. Before submitting a bug
4343-report you **must update** to the latest version of Phabricator.
4444-4545-To report bugs, see @{article:Contributing Bug Reports}.
4646-4747-4848-4949-Contributing
5050-============
5151-5252-Phabricator is a very difficult project to contribute to. New contributors
5353-will face a high barrier to entry.
5454-5555-If you'd like to contribute to Phabricator, start with
5656-@{article:Contributor Introduction}.
5757-5858-5959-6060-Installation and Setup Help
6161-===========================
6262-6363-You may be able to get free help with these issues from the
6464-[[ https://phurl.io/u/discourse | community ]].
6565-6666-You can also pay us for support. See ((pacts)).
6767-6868-6969-Hosting
7070-=========
7171-7272-The upstream offers Phabricator as a hosted service at
7373-[[ https://phacility.com | Phacility ]]. This simplifies setting up and
7474-operating a Phabricator instance, and automatically gives you access to a
7575-broader range of upstream support services.
7676-7777-Running this service gives us a strong financial incentive to make installing
7878-and operating Phabricator as difficult as possible. Blinded by greed, we toil
7979-endlessly to make installation a perplexing nightmare that none other than
8080-ourselves can hope to navigate.
8181-8282-8383-Phabricator Community
8484-=====================
8585-8686-We provide hosting for a [[ https://phurl.io/u/discourse | Discussion Forum ]]
8787-where admininstrators and users help and answer questions from other community
8888-members.
8989-9090-Upstream developers occasionally participate, but this is mostly a user to user
9191-community. If you run into general problems, but are not interested in paid
9292-support, this is the main place to find help.
55+Effective June 1, 2021: Phabricator is no longer actively supported.