Page MenuHomePhabricator
Feed Advanced Search

Jan 1 2015

fabe added a comment to D11088: Settings History.

Ok, i've checked all the implementations of getTitleForFeed and getApplicationTransactionTitleForFeed which get $story passed and it is never used anywhere...
Want me to submit a diff removing it?

Jan 1 2015, 1:19 PM
fabe updated the diff for D11088: Settings History.

Remove all the hacks from last year ;)
calling getTitleForFeed without a Parameter is still bad and might break other use cases.
However making up a dummy $story is tricky as it expects a PhabricatorFeedStoryData Object which is a DAO...

Jan 1 2015, 1:05 PM
fabe added a comment to D11049: Do not CC users without permissions to view an object.

The SaveController block is needed to prevent the user mentioned being added as a CC if she has no permission.
Without it they are greyed out correctly but are still added as CC.
In the TransactionEditor we are only catching mentions and do not look at already added subscriber transactions.
Normally i'd think the block in the ManiphestTransactionSaveController should be removed completely as the mentions are extracted in the TransactionEditor anyway.
However this seems not to be the case for maniphest comments. When i remove the block in question mentioning no longer works at all.

Jan 1 2015, 12:46 PM

Dec 30 2014

fabe added a comment to D11050: make repo callsigns optional.

sry, i'll have to do this tomorrow. Somehow the RepositoryRemarkupRule doesen't allow me not to specify a word prefix (just like in the commit Remarkup rule)...

Dec 30 2014, 5:45 PM
fabe updated the diff for D11050: make repo callsigns optional.

PhabricatorRepositoryQuery now disallows leading 'r' and classes using it have to strip / attach it themselves. Preserving it in the identifierMap leads to much worse problems.
Refactored the Query to use it's own private variables and added phid support.
I'll change the r1 rTEST vs. R1 rTEST next

Dec 30 2014, 5:32 PM
fabe updated the diff for D11049: Do not CC users without permissions to view an object.

updating for style and inlines

Dec 30 2014, 4:31 PM
fabe added inline comments to D11049: Do not CC users without permissions to view an object.
Dec 30 2014, 4:28 PM
fabe retitled D11088: Settings History from to Settings History.
Dec 30 2014, 4:18 PM
fabe added a revision to T6545: Show unified config edit log in Config web UI: D11088: Settings History.
Dec 30 2014, 4:18 PM · Setup
fabe updated the diff for D11086: add missing needprojectphids for project reports.

oops

Dec 30 2014, 2:56 PM
fabe added a comment to T6833: Maniphest Reports by Project throws "PhabricatorDataNotAttachedException".

yep you were right. just missed a case.

Dec 30 2014, 2:56 PM · Maniphest
fabe added a revision to T6833: Maniphest Reports by Project throws "PhabricatorDataNotAttachedException": D11086: add missing needprojectphids for project reports.
Dec 30 2014, 2:55 PM · Maniphest
fabe retitled D11086: add missing needprojectphids for project reports from to add missing needprojectphids for project reports.
Dec 30 2014, 2:55 PM
fabe added a comment to D11049: Do not CC users without permissions to view an object.

Ah ok. rendering policy aware stuff in preview is problematic as the preview renderer just creates a bogus task and adds the text to it...
To make the preview consider policies it would have to load the complete real task. Not sure if we actually want to do this.

Dec 30 2014, 1:23 PM
fabe created T6833: Maniphest Reports by Project throws "PhabricatorDataNotAttachedException".
Dec 30 2014, 1:18 PM · Maniphest
fabe updated the diff for D11050: make repo callsigns optional.

added a few more test cases for the new repos without callsigns

Dec 30 2014, 12:33 PM
fabe updated the diff for D11050: make repo callsigns optional.

found out about non capturing syntax for regexes and fixed the unit test :)

Dec 30 2014, 12:28 PM
fabe updated the diff for D11050: make repo callsigns optional.

clean up CommitQuery identifierMap generation.
I tried to refactor it completely but was unable to achieve O(n) in any other way as it is.

Dec 30 2014, 12:26 PM
fabe updated the diff for D11050: make repo callsigns optional.

api actually was that way all along

Dec 30 2014, 10:12 AM
fabe updated the diff for D11050: make repo callsigns optional.

first stage of cleanup. PhabricatorRepositoryQuery now builds an identifierMap (just like the DiffusionCommitQuery supports)
and also allows searching for multiple different kinds of identifiers at the same time (ids, phid, callsigns)
building the identifierMap in CommitQuery is still a mess and work in progress

Dec 30 2014, 10:08 AM

Dec 29 2014

fabe updated the diff for D11048: Setup check to install/enable pygments.

changed wording

Dec 29 2014, 5:45 PM
fabe updated the diff for D11049: Do not CC users without permissions to view an object.

Display user having no permissions to a task with a grey background. (actual style TBD ;) )
For a start now only in maniphest. If this is ok i'll track down all the other uses of MarkupEngine.

Dec 29 2014, 5:29 PM
fabe added a comment to D11049: Do not CC users without permissions to view an object.

the problem when creating a diff still persists but is not so easy to fix. The problem is that the diff is created with default permissions (public) and then of course the user can be mentioned in the comments too. Maybe a diff should inherit it's policies from the repository it's attached to?

Dec 29 2014, 4:29 PM
fabe updated the diff for D11049: Do not CC users without permissions to view an object.

execute instead of loadpage and check if policy is available for the object

Dec 29 2014, 4:15 PM
fabe added a comment to D11049: Do not CC users without permissions to view an object.

I'll add the other changes. Would you already like handling the 'explicit cc' case? (It was indicated in the task that it might be too severe for the start.

Dec 29 2014, 4:05 PM
fabe retitled D11050: make repo callsigns optional from to make repo callsigns optional.
Dec 29 2014, 3:32 PM
fabe added a revision to T4245: Make repository URIs slightly prettier: D11050: make repo callsigns optional.
Dec 29 2014, 3:32 PM · Prioritized, Diffusion (v3), KDE, Restricted Project
fabe added a comment to D11049: Do not CC users without permissions to view an object.

As far as i can see at the moment a remarkup rule is not aware of what context it is rendered in (which specific task / diff / commit and even which type).
I think it would generelly be useful to have that information especially for policy stuff but I'm not sure how to approach this.

Dec 29 2014, 12:09 PM
fabe updated the test plan for D11049: Do not CC users without permissions to view an object.
Dec 29 2014, 11:34 AM
fabe updated the test plan for D11049: Do not CC users without permissions to view an object.
Dec 29 2014, 11:33 AM
fabe updated D11049: Do not CC users without permissions to view an object.
Dec 29 2014, 11:32 AM
fabe updated D11049: Do not CC users without permissions to view an object.
Dec 29 2014, 11:31 AM
fabe updated the diff for D11049: Do not CC users without permissions to view an object.

add policy check when commenting on tasks

Dec 29 2014, 11:30 AM
fabe added a comment to D11049: Do not CC users without permissions to view an object.

Ah i forgot about the greying out users... That should provide enough feedback why a user is not mentioned

Dec 29 2014, 11:24 AM
fabe added a revision to T4411: Adding a CC to a Maniphest Task should give View rights for that user: D11049: Do not CC users without permissions to view an object.
Dec 29 2014, 11:22 AM · Wikimedia, Policy
fabe retitled D11049: Do not CC users without permissions to view an object from to do not cc users without permissions to view an object.
Dec 29 2014, 11:22 AM
fabe retitled D11048: Setup check to install/enable pygments from to Setup check to install/enable pygments.
Dec 29 2014, 9:48 AM
fabe added a revision to T6533: Add a setup warning for pygments not being installed/configured: D11048: Setup check to install/enable pygments.
Dec 29 2014, 9:48 AM · Setup

Dec 23 2014

fabe added a comment to D11041: Detect goofy `sudo -n` output under OSX.

Yeah i've got no real idea there either. Might be a good idea to move the whole 'run things as another user' stuff into the ExecFuture (or have an SudoExecFuture) and try to handle it centrally in the future.

Dec 23 2014, 10:32 PM
fabe added a comment to D11041: Detect goofy `sudo -n` output under OSX.

"a password is required" might be a locale specific string. (I've seen users have german text there).
Just checking for sudo: however might match some pam warnings that start the daemon anyway which might result in two daemons.. :(

Dec 23 2014, 10:25 PM
fabe added a comment to rP2fedb6f941d8: Start phd daemons as the correctly configured user and refuse otherwise.

Yep works fine now..

Dec 23 2014, 10:10 PM · Blessed Reviewers
fabe added a comment to rP2fedb6f941d8: Start phd daemons as the correctly configured user and refuse otherwise.

Ok, i can reproduce it with a user who's shell is set to /sbin/nologin ...

Dec 23 2014, 9:52 PM · Blessed Reviewers
fabe added a comment to rP2fedb6f941d8: Start phd daemons as the correctly configured user and refuse otherwise.

When you start the daemons as btrahan it'll try to do a sudo -u _phd .... which you might not have the permissions for.
Normally this should result in an exception and the code will start the daemon as your normal user as a fallback.
If your sudo fails without the "CommandException" phd will think the daemons have started normally.
Can you try to manually run:
sudo -En -u _phd -- scripts/daemon/phd-daemon 'PhabricatorTaskmasterDaemon' --trace --verbose --phd='/var/tmp/phd/pid'
from your phabricator dir?

Dec 23 2014, 9:38 PM · Blessed Reviewers
fabe added a comment to T6806: Raise severity of "phd.user" warning eventually.

I should add that the current setup check only alerts if there's a mismatch between config and running daemon.
If phd.user is not configured at all (default) it will not trigger.

Dec 23 2014, 4:15 PM · Daemons
fabe updated the diff for D11036: Start phd daemons as the correctly configured user and refuse otherwise.

fix inlines and add user field to webui

Dec 23 2014, 4:09 PM
fabe added a comment to D11036: Start phd daemons as the correctly configured user and refuse otherwise.

give me a moment and i'll send a new diff which fixes this and also adds the user to the web ui.

Dec 23 2014, 4:05 PM
fabe added a comment to D11036: Start phd daemons as the correctly configured user and refuse otherwise.

Yeah you're right. the cd %s && is redundant. I added it when i had some problems with 'su'. But for sudo it works fine without.

Dec 23 2014, 4:04 PM
fabe updated the diff for D11036: Start phd daemons as the correctly configured user and refuse otherwise.

add the missing setup check

Dec 23 2014, 3:29 PM
fabe added a comment to D11036: Start phd daemons as the correctly configured user and refuse otherwise.

I think using runuser would limit the portability quite a bit and most admins are familiar with sudo.

Dec 23 2014, 3:18 PM
fabe updated the diff for D11036: Start phd daemons as the correctly configured user and refuse otherwise.

use sudo and fix debug. also try without sudo if it fails.
Log runningAsUser to the daemon log

Dec 23 2014, 3:17 PM
fabe added a comment to D11036: Start phd daemons as the correctly configured user and refuse otherwise.

Sounds good. I'm not quite sure about the "if sudo fails" part though as i can't really differentiate between sudo failing and the phd daemon failing for another reason.
Worst that can happen though is that the daemon fails to start twice.
The problem with the %s for the command is though that it was built in the csprintf just before and the double escaping will produce things like ('./phd-daemon '\''PhabricatorRepositoryPullLocalDaemon'\''). %C for the command should be safe though.

Dec 23 2014, 2:22 PM
fabe added a revision to T5196: Enforce that phd is run as the phd.user daemon user: D11036: Start phd daemons as the correctly configured user and refuse otherwise.
Dec 23 2014, 12:49 PM · Support Impact, Daemons
fabe retitled D11036: Start phd daemons as the correctly configured user and refuse otherwise from to Start phd daemons as the correctly configured user and refuse otherwise.
Dec 23 2014, 12:49 PM
fabe added a comment to D11031: show the current size limit when a file upload fails.

I initially didn't get the '-1000' being the phabricator limit exception and wondered why there were two identical error cases ;)
But to differentiate here totally makes sense.
As i'm not a native speaker, feedback about my wording is always appreciated even when it might seem nitpicky.

Dec 23 2014, 9:15 AM
fabe updated the diff for D11031: show the current size limit when a file upload fails.

adjust wording and seperate the two error conditions

Dec 23 2014, 9:13 AM

Dec 22 2014

fabe added a comment to D11031: show the current size limit when a file upload fails.

I think the main difference here was to show the user the actual size limit. Otherwise he'd have to guess, maybe compress the pdf/txt whatever and reupload to get the same error.

Dec 22 2014, 5:35 PM
fabe added a revision to T6663: Friendly message when exceeding file upload size limit: D11031: show the current size limit when a file upload fails.
Dec 22 2014, 3:14 PM · Files
fabe retitled D11031: show the current size limit when a file upload fails from to show the current size limit when a file upload fails.
Dec 22 2014, 3:14 PM
fabe added a task to D11030: setup warning for mysql with default boolean syntax: T6747: Add setup warning for ft_boolean_syntax for installs using MySQL search .
Dec 22 2014, 2:55 PM
fabe added a revision to T6747: Add setup warning for ft_boolean_syntax for installs using MySQL search : D11030: setup warning for mysql with default boolean syntax.
Dec 22 2014, 2:55 PM · Maniphest, Search
fabe retitled D11030: setup warning for mysql with default boolean syntax from to setup warning for mysql with default boolean syntax.
Dec 22 2014, 2:55 PM
fabe updated the diff for D10600: Implement a git blame cache.
  • add new db schema config
  • populate blame cache on reparse
  • replaced some code with an already existing conduit call
  • rebasing and fix db validity issues
Dec 22 2014, 1:01 PM

Dec 19 2014

fabe removed a revision from T6656: Maniphest Reports break when you have 75k tasks: D10907: try to find duplicates using an analyzed elasticsearch field.
Dec 19 2014, 4:14 PM · Wikimedia, Maniphest
fabe removed a task from D10907: try to find duplicates using an analyzed elasticsearch field: T6656: Maniphest Reports break when you have 75k tasks.
Dec 19 2014, 4:14 PM
fabe added a revision to T6656: Maniphest Reports break when you have 75k tasks: D10907: try to find duplicates using an analyzed elasticsearch field.
Dec 19 2014, 1:03 PM · Wikimedia, Maniphest
fabe updated the diff for D10907: try to find duplicates using an analyzed elasticsearch field.

remove mapping stuff

Dec 19 2014, 1:03 PM
fabe added a comment to D10907: try to find duplicates using an analyzed elasticsearch field.

This diff is not really meant to be merged. (And i'm not sure if can even create a diff on top of another not yet landed diff?)
But you're right that if we want the numbers to be correct you should apply the patch from D10955 and then this one on top
and then only run: ./bin/search find_duplicates
I'll just remove the mapping stuff from this diff.

Dec 19 2014, 12:55 PM

Dec 17 2014

fabe added a comment to T5523: Make bulk moves easier on Workboards.

Attached diff allows for batch edits of all tasks in a workboard column (only all, no selection possible). And please note that you have to reload the board when you make column moves and want to batch edit afterwards!
Very handy to close all tasks in a column or add/remove a project.

Dec 17 2014, 10:20 AM · Restricted Project, Workboards
fabe retitled D11000: simple batch edit for workboard columns from to simple batch edit for workboard columns.
Dec 17 2014, 10:18 AM
fabe added a revision to T5523: Make bulk moves easier on Workboards: D11000: simple batch edit for workboard columns.
Dec 17 2014, 10:18 AM · Restricted Project, Workboards

Dec 15 2014

fabe added inline comments to D10955: Properly create Elasticsearch index.
Dec 15 2014, 9:08 AM

Dec 10 2014

fabe added a comment to D10955: Properly create Elasticsearch index.

It should also check then if the mapping is correct and warn if a mismatch is detected.
I think the typical problem would be that someone has an phabricator install, enables elasticsearch and then some random task/commit gets indexed automatically and creates the index without the mapping. Even if the user then deletes the index. In the time between running init / reindex just a single object needs to be reindexed to create the index without its mapping again and i don't like the idea of deleting it in an init/setup script. So just a setupcheck telling the user how to set it up in a clean way is probably best.
@WikiChad wannna add the check? otherwise i could do it if you like.

Dec 10 2014, 2:03 PM
fabe added a comment to D10955: Properly create Elasticsearch index.

I thought about doing something just like this. However i didn't like the fact that every search request now does an additional elasticsearch roundtrip to check if the index already exists (which it usually will except on the first request). Most elasticsearch client libraries do this and i've no real idea how to avoid it since when a user deletes the index it will be automatically recreated without phabricator ever knowing... So if we don't check it might not recreate the mapping

Dec 10 2014, 1:52 PM

Dec 6 2014

fabe updated the diff for D10542: Provide more information in Herald Commit Email notifications - Add a list of merged commits to merge commits. - Show the author's name.

rebaseing

Dec 6 2014, 1:10 PM

Dec 4 2014

fabe added a comment to T6552: Implement partial / wildcard searching (Elasticsearch).

One way of doing this is by adjusting the mapping for the elasticsearch index (actually way more powerful than a wildcard search).
I currently switched to the mapping below (added as a template expecting the index to be named 'phabricator' and with an english language setting).
Feel free to change the min/max ngrams setting (e.g. 4 instead of 3 letter ngrams) if you get too many / few results.
If you like to switch to another language the docs to do so are here: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-lang-analyzer.html
For it to take effect you have to delete the index and then reindex all objects (bin/index --all).

Dec 4 2014, 12:17 PM · Elasticsearch, Search

Dec 2 2014

fabe updated the diff for D10916: performance optimazion for edge queries with getDestinationPHIDs.
  • do not use array_merge
Dec 2 2014, 1:49 PM
fabe added a comment to D10916: performance optimazion for edge queries with getDestinationPHIDs.

ah ok i see.
I'll just change it to a loop. I guess that also makes it safe if someone reuses that code.
And the difference is minimal

Dec 2 2014, 1:49 PM
fabe added a comment to D10916: performance optimazion for edge queries with getDestinationPHIDs.

libphutil sure has some very nice utility functions :D

Dec 2 2014, 1:40 PM
fabe updated the diff for D10916: performance optimazion for edge queries with getDestinationPHIDs.
  • simplify code
Dec 2 2014, 1:39 PM
epriestley awarded D10916: performance optimazion for edge queries with getDestinationPHIDs a Mountain of Wealth token.
Dec 2 2014, 1:17 PM
fabe added a revision to T6656: Maniphest Reports break when you have 75k tasks: D10916: performance optimazion for edge queries with getDestinationPHIDs.
Dec 2 2014, 12:57 PM · Wikimedia, Maniphest
fabe retitled D10916: performance optimazion for edge queries with getDestinationPHIDs from to performance optimazion for edge queries with getDestinationPHIDs.
Dec 2 2014, 12:57 PM
fabe added a comment to T6656: Maniphest Reports break when you have 75k tasks.

My dev env is up2date.
But you're right that all the tasks are assigned to one user and that causes the problem within loadStatus on every page.
However as far as i can see in the reports the getDestinationPHIDs is called for every user there is and therefore causes the same problem there.
I've rearranged the way getDestinationPHIDs works a bit and it went from 60s to a 2s load time (for loadStatus as well). Which is still not great but might be acceptable for a reports page or a user who has 10k assigned tasks.

Dec 2 2014, 12:54 PM · Wikimedia, Maniphest
fabe added a comment to T6656: Maniphest Reports break when you have 75k tasks.

Ok, i've created ~10k tasks in my dev installation to test this more thoroughly.
I still see the full table scan on the edge table (tested on mysql 5.1 & 5.6). E.g.:

Dec 2 2014, 10:26 AM · Wikimedia, Maniphest

Dec 1 2014

fabe added a comment to T6656: Maniphest Reports break when you have 75k tasks.

If the reports feature is what the user expects to find or is helpful is a whole different question.

Dec 1 2014, 3:30 PM · Wikimedia, Maniphest

Nov 28 2014

fabe removed a revision from T6656: Maniphest Reports break when you have 75k tasks: D10907: try to find duplicates using an analyzed elasticsearch field.
Nov 28 2014, 1:59 PM · Wikimedia, Maniphest
fabe edited tasks for D10907: try to find duplicates using an analyzed elasticsearch field, added: T4828: Suggest/propose possible duplicates when creating a new task; removed T6656: Maniphest Reports break when you have 75k tasks.
Nov 28 2014, 1:59 PM
fabe added a revision to T4828: Suggest/propose possible duplicates when creating a new task: D10907: try to find duplicates using an analyzed elasticsearch field.
Nov 28 2014, 1:59 PM · Wikimedia, Maniphest
fabe added a comment to T4828: Suggest/propose possible duplicates when creating a new task.

The attached revision will get all tasks marked as duplicate in the maniphest db and then tries to find the task it was merged into in the elasticsearch just using the title.
By default it will use the standard analyzed field in elasticsearch as it is right now.
If you run installmapping and reindex the tasks the results should get better because it will utilize english stopwords and stemming.
Let's see what this yields. If it still find too less results we can try to combine an ngrams / edge_ngrams analyzer into it.

Nov 28 2014, 1:58 PM · Wikimedia, Maniphest
fabe added a comment to T6656: Maniphest Reports break when you have 75k tasks.
Nov 28 2014, 1:06 PM · Wikimedia, Maniphest
fabe retitled D10907: try to find duplicates using an analyzed elasticsearch field from to try to find duplicates using an analyzed elasticsearch field.
Nov 28 2014, 1:03 PM
fabe added a revision to T6656: Maniphest Reports break when you have 75k tasks: D10907: try to find duplicates using an analyzed elasticsearch field.
Nov 28 2014, 1:03 PM · Wikimedia, Maniphest

Nov 27 2014

fabe added a comment to T6656: Maniphest Reports break when you have 75k tasks.

In ManiphestTaskQuery it says:

// TODO: Eventually, we should make this optional and introduce a
// needProjectPHIDs() method, but for now there's a lot of code which
// assumes the data is always populated.
Nov 27 2014, 9:49 AM · Wikimedia, Maniphest

Nov 25 2014

fabe added a comment to T4828: Suggest/propose possible duplicates when creating a new task.

We have the same problem with more casual submitters.
I could think of a fairly easy but powerful implementation of this when elasticsearch as a backend is used.
The custom scoring and basic language processing stuff is really nice and would allow for things like listing bugs within the same project before others quite easily.

Nov 25 2014, 1:14 PM · Wikimedia, Maniphest

Nov 12 2014

fabe added a comment to T6522: "Commit's branches contains" condition is not re-evaluated for commits in multiple branches.

We had a similar problem (tracking feature branches and triggering a herald rule when a commit shows up in master) and solved it by specifically looking for the merge commit in the master/production branch.
Depending on what your herald rule does it might be necessary to apply an action to every commit contained in a merge commit. I'm not sure what happens if you trigger an audit on the merge commit. It might include more commits than what you want.

Nov 12 2014, 9:01 AM · Diffusion (v3), Restricted Project, Restricted Project, Herald

Oct 8 2014

fabe added a revision to T6267: Ignore already existing phabricator users when listing ldap results: D10661: skip over already existing users when displying ldap import search results. Ref T6267.
Oct 8 2014, 9:10 AM · Auth, LDAP
fabe added a task to D10661: skip over already existing users when displying ldap import search results. Ref T6267: T6267: Ignore already existing phabricator users when listing ldap results.
Oct 8 2014, 9:10 AM
fabe retitled D10661: skip over already existing users when displying ldap import search results. Ref T6267 from to skip over already existing users when displying ldap import search results. Ref T6267.
Oct 8 2014, 9:10 AM
fabe created T6267: Ignore already existing phabricator users when listing ldap results.
Oct 8 2014, 9:08 AM · Auth, LDAP

Oct 7 2014

fabe updated the diff for D10600: Implement a git blame cache.
  • replaced some code with an already existing conduit call
Oct 7 2014, 9:11 AM