This is a regression from the PR functionality (#91). We have a cache of graph objects (user and groups) to provide email resolution in query UX. For customers with very large graphs, lo and behold, we tie up a lot of memory.
We are going to mitigate the memory usage with two approaches:
(1) Instead of caching full graph objects (user and group), let's just cache the data we use. This brings down memory consumption by ~60% on a test machine where there are a lot of objects to cache.
(2) We will only load the resolver cache when it is used. If a customer doesn't use PR functionality at all, it would never light up, so we save the bandwidth, CPU, and memory. Compared to 0.1.8, this change yields ~80% memory savings on a machine with lots of graph objects.
Overall, this will make the PR feature fully pay-for-play as you won't pay any CPU, network, or memory costs unless you use it. And even when you use it, we will use a lot less memory (~60% less in my tests).
Also tested with PR queries and observed the on-demand querying happening. All async and not blocking any UI threads as it was previously.
Fixes#100.
Let's allow for a global PR count like we do for work items.
This allows for easily checking the PRs that are assigned to you, needs action or whatever.
This change implements the basic logic to allow PR queries to be configured for any project.
The PR query editor dialog now has a project textbox, and the query is saved with the project context.
* Removing un-documented tokenization of search to plain word search (Fixes issues #78);
* Change "Searching..." to be at the top and obvious (Fixes issue #79);
* Remove confusing empty message while searching;
* Increase search max items to 250;
* Add actual error found during query to UX;
* Update nuget dependencies to latest versions
* Add the capability to filter PRs by Created By / Assigned To. I am purposefully making it broader so we can add specific people besides '@me' in the future.
* Implement "Set Font Color" and "Reset Font Color" UI commands connected to work item and pull request tiles.
* Implement serialization for tile font color.
* Initial implementation of Pull Requests, primitive view
* Renaming QueryEditor, removing Ping
* Open in Web support for Pull Requests
* Implement Filters for Pull Requests
* Implement Order By for Pull Requests
* Implement Drag'n'drop for Pull Requests
* Clean Global Commands for Pull Requests
* Remove orphaned Recording / Capture commands
* Match PullRequest to WorkItem OM
* Remove Platform project
* Remove lingering CodeFlow references
* Remove lingering CodeFlow references
* Allow PR filtering by status
* Start with Authored by me queries
* Change PR query from Authored By Me to Assigned to Me