@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
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Mark manually created Diffs as new objects to fix empty Feed transaction entries

Summary:
When creating a Differential diff manually via `/differential/diff/create/` in the web browser instead of using Arcanist, `setIsCreateTransaction(true)` for the transaction type `DifferentialDiffTransaction::TYPE_DIFF_CREATE` to avoid an empty `Transaction` field in the Feed and avoid `strncmp()` complaining about a null value being passed.

For gory details, see the comments in T15659.

```
ERROR 8192: strncmp(): Passing null to parameter #1 ($string1) of type string is deprecated at [/var/www/html/phorge/phorge/src/applications/policy/query/PhabricatorPolicyQuery.php:314]
```

Closes T15659

Test Plan:
1. Create a valid diff via `/differential/diff/create/`
2. Go to `/feed/transactions/query/advanced/` and set `Object Types` to `Differential Diff` and click `Search`
3. See two entries in the `Transaction` column for the just created diff: One says "created this diff", the other one says "created this object with visibility" and is not an empty line anymore which triggered an exception.

Reviewers: O1 Blessed Committers, aklapper

Reviewed By: O1 Blessed Committers, aklapper

Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15659

Differential Revision: https://we.phorge.it/D25517

+2
+2
src/applications/differential/conduit/DifferentialCreateRawDiffConduitAPIMethod.php
··· 71 71 $xactions = array( 72 72 id(new DifferentialDiffTransaction()) 73 73 ->setTransactionType(DifferentialDiffTransaction::TYPE_DIFF_CREATE) 74 + ->setIsCreateTransaction(true) 74 75 ->setNewValue($diff_data_dict), 75 76 ); 76 77 77 78 if ($request->getValue('viewPolicy')) { 78 79 $xactions[] = id(new DifferentialDiffTransaction()) 79 80 ->setTransactionType(PhabricatorTransactions::TYPE_VIEW_POLICY) 81 + ->setIsCreateTransaction(true) 80 82 ->setNewValue($request->getValue('viewPolicy')); 81 83 } 82 84