Commit Identities only show on commit object / diffusion pages, not in timelines or stories


#1

Observed Behavior:
Commit information on timelines and feeds shows differently when using a claimed commit identity as opposed to an actual commit with information actually associated with a Phabricator account.

Expected Behavior:
Ideally, Phabricator should always show the information for the commit identity and not sometimes displaying the Phabricator user and sometimes displaying the raw identity (outside of when the raw identity is not associated with an account, even with indirection).

Phabricator Version:
phabricator 9cf0d58e5da0d3673481456e38257ca41cc3d987 (Thu, Jan 24) (branched from e6ca2b998fd4ba1d197322228f408b2461314659 on origin)
arcanist 97ddb9d5a1be282d6002a875a759266bb97b653f (Dec 28 2018) (branched from 25c2381959ac94d9249ae4023c5f9ea36436b81c on origin)
phutil 8a9f4b1f806e9eff0fbf5b32cfc29842c0db3f49 (Fri, Jan 18) (branched from 92413d0303ab2f86eb397db0441b024de4099975 on origin)
diff 3.3 at /usr/bin/diff
git 2.1.4 at /usr/bin/git
hg Not Available
pygmentize 2.0.1 at /usr/bin/pygmentize
svn Not Available

Reproduction Steps:

  1. Make sure Phabricator is at least up to date and everything needed for commit identities is done.
  2. Create a new repository on Phabricator / clone this or an observed repository to wherever you want to do the test.
  3. Set your commit information for the repository to use an email address associated with an existing Phabricator account.
  4. Touch a file, add it, make a commit, and push that commit to the Phabricator instance.
  5. Note that on the Diffusion page for that commit, it shows the Phabricator account in all instances of where the identity should be. ( https://test-acl67sngtotl.phacility.com/rTESTd2a438df8f68d683454cd6f6f69bc1eb385b06e6 )
  6. In Git, set your commit information for the repository to be use a username AND email address not associated with a Phabricator account.
  7. Touch a new file and add/commit/push it.
  8. Observe that the Diffusion link displays the username of the commit without a link to a profile, and shows the raw commit identity ("Username " in several places.
  9. Click on the identity (next to “Committed:”) and associate it with a Phabricator user. Verify that the “effective user” for the identity is a real Phabricator user.
  10. Reload the diffusion page. Note that the “Authored by” at the top of the page shows the Phabricator user and the “Committed” / “Pushed” information shows the Phabricator user, but the feed-like information at the bottom of the page still shows the raw commit identity. ( https://test-acl67sngtotl.phacility.com/rTEST5a5dac800b11437816eb61485f810e115dffc3b7 )

    On the home page / other feeds it also shows no useful identity.

#2

btw main feed

image


#3

I think this has actually come up before with other things outside of commit identities. IIRC the feeds are kind of just published and not editable after the fact or something? idunno, anyways comments on this appreciated


#4

Hi,

we have similar issue.

One of my users did a few commits on observed SVN repo with different username than in Phabricator.
When I changed his username in Phabricator, commits “connected” to a username in repository history view, but not in Recent Activity / Feed view.

I tried rebuilding repository data, but this only connected to a username in repository history
./bin/repository reparse --all rMD --message --change --herald --owners (https://secure.phabricator.com/book/phabricator/article/repository_imports/)

Then I figured out that Feed view is some sort of “search commits by user” and that maybe search index should be updated, so I run

./bin/search index --force --all --background
(https://secure.phabricator.com/T11932)

Also purged caches (and APC), neither of that helped, so for now I am also stuck.