1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-21 09:48:47 +02:00
phorge-phorge/src/applications
epriestley ebb7ca8cbd Convert Owners paths to application transactions
Summary:
Ref T8320. Fixes T8317. Fixes T2831. Fixes T8073. Fixes T7127.

There was a bug with this line:

  for ($ii = 0; $ii < count($paths); $ii++) {

...because the array may be sparse if there have been deletes, so `count($paths)` might be 3, but the real keys could be `1`, `5` and `6`. I think this was the primary issue behind T7127.

The old Editor did a lot of work to try to validate paths. When a path failed to validate, it silently discarded it. This was silly and pointless: it's incredibly bad UX; and it's totally fine if users saves "invalid" paths. This was likely the cause of T8317, and probably the cause of T8073.

T2831 I'm less sure about, but I can't reproduce it and I rewrote all the logic so I suspect it's gone.

This also records and shows edits, so if stuff does keep happening it should be more clear what's going on.

I removed some adjacent stuff:

  - I removed the ability to delete packages. I'll add "disable" in a future diff, plus `bin/remove destroy`, like other objects. Getting rid of this now let me get rid of all the mail stuff.
  - I removed "path validation" where packages would try to automatically update in response to commits. This doesn't necessarily make sense in Git/Mercurial, is sketchy, could easily have been the source of T2831, and seems generally complicated and not very valuable. We could maybe restore it some day, but I'd like to get Owners stable before trying to do crazy stuff like that.

Test Plan: {F437687}

Reviewers: chad, btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8317, T8073, T7127, T2831, T8320

Differential Revision: https://secure.phabricator.com/D13032
2015-05-27 10:30:26 -07:00
..
almanac phtize all the things 2015-05-22 21:16:39 +10:00
aphlict phtize all the things 2015-05-22 21:16:39 +10:00
arcanist/conduit Mark "arcanist.projectinfo" as deprecated 2015-05-25 22:52:41 +10:00
audit Allow inline comments to be individually hidden 2015-05-27 10:28:38 -07:00
auth phtize all the things 2015-05-22 21:16:39 +10:00
base phtize all the things 2015-05-22 21:16:39 +10:00
cache phtize all the things 2015-05-22 21:16:39 +10:00
calendar All day events should obey selected query range in viewer timezone. 2015-05-26 14:28:07 -07:00
celerity phtize all the things 2015-05-22 21:16:39 +10:00
chatlog phtize all the things 2015-05-22 21:16:39 +10:00
conduit Make everything 1000x or 1000000x slower 2015-05-23 05:36:02 -07:00
config phtize all the things 2015-05-22 21:16:39 +10:00
conpherence phtize all the things 2015-05-22 21:16:39 +10:00
console Make everything 1000x or 1000000x slower 2015-05-23 05:36:02 -07:00
countdown phtize all the things 2015-05-22 21:16:39 +10:00
daemon Make everything 1000x or 1000000x slower 2015-05-23 05:36:02 -07:00
dashboard phtize all the things 2015-05-22 21:16:39 +10:00
differential Allow inline comments to be individually hidden 2015-05-27 10:28:38 -07:00
diffusion Allow configuration of a "staging area" for each repository 2015-05-27 10:28:27 -07:00
diviner phtize all the things 2015-05-22 21:16:39 +10:00
doorkeeper phtize all the things 2015-05-22 21:16:39 +10:00
draft/storage Fix visiblity of LiskDAO::getConfiguration() 2015-01-14 06:54:13 +11:00
drydock phtize all the things 2015-05-22 21:16:39 +10:00
fact phtize all the things 2015-05-22 21:16:39 +10:00
feed phtize all the things 2015-05-22 21:16:39 +10:00
files phtize all the things 2015-05-22 21:16:39 +10:00
flag phtize all the things 2015-05-22 21:16:39 +10:00
fund phtize all the things 2015-05-22 21:16:39 +10:00
harbormaster phtize all the things 2015-05-22 21:16:39 +10:00
help Use __CLASS__ instead of hard-coding class names 2015-05-14 07:21:13 +10:00
herald Remove arcanist projects from Herald 2015-05-25 19:11:22 +10:00
home phtize all the things 2015-05-22 21:16:39 +10:00
legalpad phtize all the things 2015-05-22 21:16:39 +10:00
lipsum phtize all the things 2015-05-22 21:16:39 +10:00
macro phtize all the things 2015-05-22 21:16:39 +10:00
mailinglists phtize all the things 2015-05-22 21:16:39 +10:00
maniphest phtize all the things 2015-05-22 21:16:39 +10:00
meta phtize all the things 2015-05-22 21:16:39 +10:00
metamta phtize all the things 2015-05-22 21:16:39 +10:00
multimeter Use PhutilInvalidStateException 2015-05-14 07:53:52 +10:00
notification phtize all the things 2015-05-22 21:16:39 +10:00
nuance phtize all the things 2015-05-22 21:16:39 +10:00
oauthserver phtize all the things 2015-05-22 21:16:39 +10:00
owners Convert Owners paths to application transactions 2015-05-27 10:30:26 -07:00
passphrase phtize all the things 2015-05-22 21:16:39 +10:00
paste phtize all the things 2015-05-22 21:16:39 +10:00
people phtize all the things 2015-05-22 21:16:39 +10:00
phame phtize all the things 2015-05-22 21:16:39 +10:00
phid phtize all the things 2015-05-22 21:16:39 +10:00
phlux Transactions - make implementing TYPE_XXXX_POLICY transactions optional 2015-05-19 12:58:18 -07:00
pholio phtize all the things 2015-05-22 21:16:39 +10:00
phortune phtize all the things 2015-05-22 21:16:39 +10:00
phpast phtize all the things 2015-05-22 21:16:39 +10:00
phragment phtize all the things 2015-05-22 21:16:39 +10:00
phrequent phtize all the things 2015-05-22 21:16:39 +10:00
phriction phtize all the things 2015-05-22 21:16:39 +10:00
policy phtize all the things 2015-05-22 21:16:39 +10:00
ponder phtize all the things 2015-05-22 21:16:39 +10:00
project phtize all the things 2015-05-22 21:16:39 +10:00
releeph Mark arcanistProjectID as nullable 2015-05-26 06:53:48 -07:00
remarkup/conduit phtize all the things 2015-05-22 21:16:39 +10:00
repository Convert Owners paths to application transactions 2015-05-27 10:30:26 -07:00
search phtize all the things 2015-05-22 21:16:39 +10:00
settings phtize all the things 2015-05-22 21:16:39 +10:00
slowvote phtize all the things 2015-05-22 21:16:39 +10:00
subscriptions phtize all the things 2015-05-22 21:16:39 +10:00
support/application Implement the getName method in PhabricatorApplication subclasses 2014-07-23 23:52:50 +10:00
system phtize all the things 2015-05-22 21:16:39 +10:00
tokens phtize all the things 2015-05-22 21:16:39 +10:00
transactions phtize all the things 2015-05-22 21:16:39 +10:00
typeahead phtize all the things 2015-05-22 21:16:39 +10:00
uiexample phtize all the things 2015-05-22 21:16:39 +10:00
xhprof phtize all the things 2015-05-22 21:16:39 +10:00