Page MenuHomePhabricator
Feed Advanced Search

Feb 1 2018

epriestley added a comment to T13053: Plans: Mail Tags and Failover.

The "Must Encrypt" change will necessarily link into the existing /mail/ web UI so users can read the mail content, so it's probably worth considering possible improvements.

Feb 1 2018, 4:08 PM · Plans, Must Encrypt Mail, Mail
epriestley updated the task description for T13053: Plans: Mail Tags and Failover.
Feb 1 2018, 3:26 PM · Plans, Must Encrypt Mail, Mail
epriestley added a comment to T13053: Plans: Mail Tags and Failover.

Although I'm suppressing the X-Phabricator-To and X-Phabricator-Cc headers for "Must Encrypt" mail (and the "To: ..." and "Cc: ..." footers in the body), the recipients will still be visible in the actual "To" and "Cc" lines if metamta.one-mail-per-recipient has been configured to false instead of the default (which is true).

Feb 1 2018, 3:24 PM · Plans, Must Encrypt Mail, Mail
epriestley added a comment to T13053: Plans: Mail Tags and Failover.

On Thread-Topic, this very old thread suggests that Outlook can show the header in some cases: https://bugzilla.mozilla.org/show_bug.cgi?id=411601

Feb 1 2018, 3:14 PM · Plans, Must Encrypt Mail, Mail
epriestley updated the task description for T13053: Plans: Mail Tags and Failover.
Feb 1 2018, 3:02 PM · Plans, Must Encrypt Mail, Mail
mcorteel added a comment to T12785: Arc unit command fails with PHPUnit 6.

@cmmata here is my diff. It can probably be improved, but it works for me:

1diff --git a/src/unit/engine/PhpunitTestEngine.php b/src/unit/engine/PhpunitTestEngine.php
2index 8206b787..ef01fda4 100644
3--- a/src/unit/engine/PhpunitTestEngine.php
4+++ b/src/unit/engine/PhpunitTestEngine.php
5@@ -52,7 +52,7 @@ final class PhpunitTestEngine extends ArcanistUnitTestEngine {
6 if (!Filesystem::pathExists($test_path)) {
7 continue;
8 }
9- $json_tmp = new TempFile();
10+ $xml_tmp = new TempFile();
11 $clover_tmp = null;
12 $clover = null;
13 if ($this->getEnableCoverage() !== false) {
14@@ -64,10 +64,10 @@ final class PhpunitTestEngine extends ArcanistUnitTestEngine {
15
16 $stderr = '-d display_errors=stderr';
17
18- $futures[$test_path] = new ExecFuture('%C %C %C --log-json %s %C %s',
19- $this->phpunitBinary, $config, $stderr, $json_tmp, $clover, $test_path);
20+ $futures[$test_path] = new ExecFuture('%C %C %C --log-junit %s %C %s',
21+ $this->phpunitBinary, $config, $stderr, $xml_tmp, $clover, $test_path);
22 $tmpfiles[$test_path] = array(
23- 'json' => $json_tmp,
24+ 'xml' => $xml_tmp,
25 'clover' => $clover_tmp,
26 );
27 }
28@@ -81,7 +81,7 @@ final class PhpunitTestEngine extends ArcanistUnitTestEngine {
29
30 $results[] = $this->parseTestResults(
31 $test,
32- $tmpfiles[$test]['json'],
33+ $tmpfiles[$test]['xml'],
34 $tmpfiles[$test]['clover'],
35 $stderr);
36 }
37@@ -90,17 +90,17 @@ final class PhpunitTestEngine extends ArcanistUnitTestEngine {
38 }
39
40 /**
41- * Parse test results from phpunit json report.
42+ * Parse test results from phpunit XML report.
43 *
44 * @param string $path Path to test
45- * @param string $json_tmp Path to phpunit json report
46+ * @param string $xml_tmp Path to phpunit XML report
47 * @param string $clover_tmp Path to phpunit clover report
48 * @param string $stderr Data written to stderr
49 *
50 * @return array
51 */
52- private function parseTestResults($path, $json_tmp, $clover_tmp, $stderr) {
53- $test_results = Filesystem::readFile($json_tmp);
54+ private function parseTestResults($path, $xml_tmp, $clover_tmp, $stderr) {
55+ $test_results = Filesystem::readFile($xml_tmp);
56 return id(new ArcanistPhpunitTestResultParser())
57 ->setEnableCoverage($this->getEnableCoverage())
58 ->setProjectRoot($this->projectRoot)
59diff --git a/src/unit/parser/ArcanistPhpunitTestResultParser.php b/src/unit/parser/ArcanistPhpunitTestResultParser.php
60index 5ccff970..3d7fcd77 100644
61--- a/src/unit/parser/ArcanistPhpunitTestResultParser.php
62+++ b/src/unit/parser/ArcanistPhpunitTestResultParser.php
63@@ -9,10 +9,10 @@
64 final class ArcanistPhpunitTestResultParser extends ArcanistTestResultParser {
65
66 /**
67- * Parse test results from phpunit json report
68+ * Parse test results from phpunit XML report
69 *
70 * @param string $path Path to test
71- * @param string $test_results String containing phpunit json report
72+ * @param string $test_results String containing phpunit XML report
73 *
74 * @return array
75 */
76@@ -25,7 +25,7 @@ final class ArcanistPhpunitTestResultParser extends ArcanistTestResultParser {
77 return array($result);
78 }
79
80- $report = $this->getJsonReport($test_results);
81+ $report = simplexml_load_string($test_results);
82
83 // coverage is for all testcases in the executed $path
84 $coverage = array();
85@@ -36,56 +36,36 @@ final class ArcanistPhpunitTestResultParser extends ArcanistTestResultParser {
86 $last_test_finished = true;
87
88 $results = array();
89- foreach ($report as $event) {
90- switch (idx($event, 'event')) {
91- case 'test':
92- break;
93- case 'testStart':
94- $last_test_finished = false;
95- // fall through
96- default:
97- continue 2; // switch + loop
98- }
99-
100+ foreach ($report->testsuite as $test_suite) {
101 $status = ArcanistUnitTestResult::RESULT_PASS;
102 $user_data = '';
103
104- if ('fail' == idx($event, 'status')) {
105+ if ((int)$test_suite['failures'] > 0) {
106 $status = ArcanistUnitTestResult::RESULT_FAIL;
107- $user_data .= idx($event, 'message')."\n";
108- foreach (idx($event, 'trace') as $trace) {
109- $user_data .= sprintf(
110- "\n%s:%s",
111- idx($trace, 'file'),
112- idx($trace, 'line'));
113+ foreach ($test_suite->testcase as $test_case) {
114+ foreach ($test_case->failure as $failure) {
115+ $user_data .= sprintf(
116+ "\n%s",
117+ (string)$failure);
118+ }
119 }
120- } else if ('error' == idx($event, 'status')) {
121- if (strpos(idx($event, 'message'), 'Skipped Test') !== false) {
122- $status = ArcanistUnitTestResult::RESULT_SKIP;
123- $user_data .= idx($event, 'message');
124- } else if (strpos(
125- idx($event, 'message'),
126- 'Incomplete Test') !== false) {
127- $status = ArcanistUnitTestResult::RESULT_SKIP;
128- $user_data .= idx($event, 'message');
129- } else {
130- $status = ArcanistUnitTestResult::RESULT_BROKEN;
131- $user_data .= idx($event, 'message');
132- foreach (idx($event, 'trace') as $trace) {
133- $user_data .= sprintf(
134- "\n%s:%s",
135- idx($trace, 'file'),
136- idx($trace, 'line'));
137+ } else if ($test_suite['errors'] > 0) {
138+ $status = ArcanistUnitTestResult::RESULT_BROKEN;
139+ foreach ($test_suite->testcase as $test_case) {
140+ foreach ($test_case->error as $error) {
141+ $user_data .= sprintf(
142+ "\n%s",
143+ (string)$error);
144 }
145 }
146 }
147
148- $name = preg_replace('/ \(.*\)/s', '', idx($event, 'test'));
149+ $name = preg_replace('/ \(.*\)/s', '', $test_suite['name']);
150
151 $result = new ArcanistUnitTestResult();
152 $result->setName($name);
153 $result->setResult($status);
154- $result->setDuration(idx($event, 'time'));
155+ $result->setDuration((float)$test_suite['time']);
156 $result->setCoverage($coverage);
157 $result->setUserData($user_data);
158
159@@ -95,7 +75,7 @@ final class ArcanistPhpunitTestResultParser extends ArcanistTestResultParser {
160
161 if (!$last_test_finished) {
162 $results[] = id(new ArcanistUnitTestResult())
163- ->setName(idx($event, 'test')) // use last event
164+ ->setName($test_suite['name']) // use last event
165 ->setUserData($this->stderr)
166 ->setResult(ArcanistUnitTestResult::RESULT_BROKEN);
167 }
168@@ -161,28 +141,4 @@ final class ArcanistPhpunitTestResultParser extends ArcanistTestResultParser {
169 return $reports;
170 }
171
172- /**
173- * We need this non-sense to make json generated by phpunit
174- * valid.
175- *
176- * @param string $json String containing JSON report
177- * @return array JSON decoded array
178- */
179- private function getJsonReport($json) {
180-
181- if (empty($json)) {
182- throw new Exception(
183- pht(
184- 'JSON report file is empty, it probably means that phpunit '.
185- 'failed to run tests. Try running %s with %s option and then run '.
186- 'generated phpunit command yourself, you might get the answer.',
187- 'arc unit',
188- '--trace'));
189- }
190-
191- $json = preg_replace('/}{\s*"/', '},{"', $json);
192- $json = '['.$json.']';
193- return phutil_json_decode($json);
194- }
195-
196 }

Feb 1 2018, 11:00 AM · Arcanist, Bug Report
mcorteel created P2084 T12785 patch.
Feb 1 2018, 10:58 AM
cmmata added a comment to T12785: Arc unit command fails with PHPUnit 6.

@mcorteel I have the same problem, arc unit only works with phpunit 5.7. If I use 6.5, it fails. Do you have that patch anywhere with public access so we can use it while it's not published?

Feb 1 2018, 9:47 AM · Arcanist, Bug Report
yelirekim added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

Here I was thinking I found a helpful public bug.

Feb 1 2018, 3:18 AM
epriestley added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

From rereading D18600, maybe "ridiculously strong" is an understatement and it was actually so powerful it took effect even if you didn't enable it.

Feb 1 2018, 3:16 AM
epriestley added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

Locally, seems like "No Notifications" correctly has no effect on the "Upload" bubble being shown at HEAD of master.

Feb 1 2018, 3:15 AM
yelirekim added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

Hm, actually the problem here is that the notification bubble doesn't show up for any file uploads on our current version. I suppose it could actually be "on our current version + extensions". I'll get a reproduction matrix together tomorrow.

Feb 1 2018, 3:15 AM
epriestley added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

Not unless something super weird/buggy is going on.

Feb 1 2018, 3:13 AM
yelirekim added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

We don't have a notifications server, does that make it like that?

Feb 1 2018, 3:12 AM
epriestley added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

It's possible that adjusting Settings → Notifications to No Notifications disables this bubble, if that's a compounding factor here. D18600 pulled back some of the aggressiveness of that setting but I'd guess it might still be hitting the upload progress bubbles.

Feb 1 2018, 3:11 AM
yelirekim added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

Ok I actually get a dialog on secure., it's probably because we're out of date with the upstream.

Feb 1 2018, 3:11 AM
epriestley added a comment to T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.

What browser are you using? I get a progress bubble in the lower left immediately. Here's a screenshot -- note the blue upload progress element in the lower left corner.

Feb 1 2018, 3:07 AM
yelirekim created T13058: Indicate that the "upload file" modal dialog is doing something when uploading large files.
Feb 1 2018, 2:57 AM

Jan 31 2018

epriestley closed T12800: When Excel opens a CSV file, it just runs whatever arbitrary code might be in the file as Resolved by committing Restricted Diffusion Commit.
Jan 31 2018, 11:33 PM · Security
arend.danielek awarded T6609: Support math (LaTeX) equation in Remarkup a Love token.
Jan 31 2018, 11:23 PM · Restricted Project, Remarkup
arend.danielek awarded T10354: Remarkup block elements may not contain other block elements (like lists and tables inside tables) a Love token.
Jan 31 2018, 11:23 PM · Feature Request, Remarkup
simon.galkov awarded T6008: Editing files and contributing changes via web a Mountain of Wealth token.
Jan 31 2018, 9:49 PM · Restricted Project, Wikimedia, Diffusion, Differential
epriestley added a revision to T13057: Formalize "reverts" and "resurrects" between revisions: Unknown Object (Differential Revision).
Jan 31 2018, 8:27 PM · Differential
epriestley updated the task description for T13053: Plans: Mail Tags and Failover.
Jan 31 2018, 7:26 PM · Plans, Must Encrypt Mail, Mail
epriestley updated the task description for T13054: Plans: Harbormaster Interactions with Differential / Chaos Reduction.
Jan 31 2018, 4:48 PM · Plans, Differential, Harbormaster
epriestley added a comment to T8232: Automatically claim a task when a differential is submitted.

I think T11934 and an explicit !claim Txxx action (which would mean "reassign + ref"; maybe with a !claim-and-fix Txxx to mean "reassign + fixes" or some kind of !claim+fix X syntax which expands to !claim <args>; !fix <args>) is a possible way forward on this, but I don't want to make "ref" automatically mean "claim".

Jan 31 2018, 3:51 PM · Differential, Maniphest
epriestley closed T10050: Differential-to-Asana integration, like with JIRA as Wontfix.

Because of the high degree of complexity there's basically zero chance we'll ever build this without active customer interest, and we have none today. Closing this until interest arises.

Jan 31 2018, 3:48 PM · Doorkeeper, Differential, Asana, Feature Request
epriestley closed T3906: Generalize the "Ref / Fixes" relationship between revisions and tasks in all systems as Wontfix.

We don't have any use cases for this today so I don't plan to pursue it. It's conceptually reasonable, but complex, and there's no customer interest.

Jan 31 2018, 3:45 PM · Restricted Project, Differential, Doorkeeper
epriestley added a comment to T3577: Web UI can only create "reference" relationships between Revisions and Tasks, not "close" relationships.

T11934 is a possible way forward on this (and other niche things) without adding a lot of Javascript and UI complexity, by supporting it through !fixes.

Jan 31 2018, 3:44 PM · Customer Impact, Maniphest, Differential
epriestley added a comment to T5132: Document the special syntax you can use in commit messages to cause effects.

One possible approach for this is:

Jan 31 2018, 3:41 PM · Guides, Diffusion
epriestley closed T1751: Consider ways to improve revert handling as Resolved.

I'm going to roll this forward into T13057.

Jan 31 2018, 3:39 PM · Restricted Project, Diffusion, Differential
epriestley triaged T13057: Formalize "reverts" and "resurrects" between revisions as Normal priority.
Jan 31 2018, 3:38 PM · Differential
epriestley closed T8345: Add task tabs for "Mentions" and "Merged" as Resolved.

We shipped "Mentions" and "Duplicates" some time ago.

Jan 31 2018, 3:13 PM · Restricted Project, FreeBSD, Maniphest
epriestley closed T8345: Add task tabs for "Mentions" and "Merged", a subtask of T10034: Plan the future of Maniphest task relationships, as Resolved.
Jan 31 2018, 3:13 PM · Maniphest
epriestley closed T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs as Resolved.

See T13056 for followup.

Jan 31 2018, 2:40 PM · Transactions, Ops, Phacility
epriestley triaged T13056: Remove "data" from edge infrastructure as Low priority.
Jan 31 2018, 2:40 PM · Infrastructure
epriestley added a comment to T13055: Maybe "translation.override" should be locked.

One attack is that you can override the content of email and then send invite or welcome mail that says whatever you want, whether the victim has a Phabricator account (welcome) or not (invite).

Jan 31 2018, 12:33 PM · Config, Security
epriestley triaged T13055: Maybe "translation.override" should be locked as Low priority.
Jan 31 2018, 4:20 AM · Config, Security
epriestley closed T6187: Allow query results to be exported to spreadsheet rendered in the browser as Wontfix.

After T13049 this is relatively within reach, but we haven't seen other requests for it so I don't currently plan to pursue it.

Jan 31 2018, 12:38 AM · ApplicationSearch
epriestley added a revision to T12800: When Excel opens a CSV file, it just runs whatever arbitrary code might be in the file: Unknown Object (Differential Revision).
Jan 31 2018, 12:25 AM · Security

Jan 30 2018

epriestley added a comment to T12800: When Excel opens a CSV file, it just runs whatever arbitrary code might be in the file.

This is relevant now that work related to T13049 has added CSV support.

Jan 30 2018, 11:54 PM · Security
epriestley closed T3461: Improve documentation around Maniphest Excel exports as Wontfix.

More or less obsoleted by work in T13049.

Jan 30 2018, 11:49 PM · Maniphest
epriestley closed T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.) as Resolved.

That's as far as I plan to take this for now. I think the additional features described above (filter, reorder, reformat, and broader field and application support) are all reasonable if use cases arise, but am not currently aware of use cases. We can return to that stuff when use cases arise.

Jan 30 2018, 11:48 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 9:35 PM · Plans, Data Exporters
epriestley triaged T13054: Plans: Harbormaster Interactions with Differential / Chaos Reduction as Normal priority.
Jan 30 2018, 8:53 PM · Plans, Differential, Harbormaster
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

I just let that run for a while but it finished at some point:

Jan 30 2018, 8:43 PM · Transactions, Ops, Phacility
epriestley updated the task description for T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.).
Jan 30 2018, 8:38 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 8:16 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 8:07 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 7:52 PM · Plans, Data Exporters
epriestley closed T10655: Phacility cluster mail deliverability issue as Resolved.
Jan 30 2018, 7:14 PM · Ops, Phacility
epriestley added a comment to T10655: Phacility cluster mail deliverability issue .

I'm going to roll this forward into T12677 since SES managed to one-up this by a healthy margin in T12237.

Jan 30 2018, 7:14 PM · Ops, Phacility
epriestley added a comment to T13037: An attacker gained staff access to Mailgun and was able to read customer API keys.

(They got back to me and we're scheduling a call.)

Jan 30 2018, 7:01 PM · Phacility, Security, Mail
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 4:06 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 3:59 PM · Plans, Data Exporters
epriestley added a comment to T13037: An attacker gained staff access to Mailgun and was able to read customer API keys.

Mailgun has yet to respond to me after about three weeks, so I send them a followup.

Jan 30 2018, 3:25 PM · Phacility, Security, Mail
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 3:06 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 30 2018, 2:12 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Restricted Differential Revision.
Jan 30 2018, 1:54 PM · Plans, Data Exporters
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.
...
 OPTIMIZE  Optimizing table "<instance>_audit"."audit_transaction"...
  DONE  Compacted table by 139 GB in 910,219ms.
...
Jan 30 2018, 12:53 PM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

The compaction completed overnight. I'm optimizing the tables now.

Jan 30 2018, 12:32 PM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

Pool is full again, repo is upgrading, edges are compacting on the instance shard.

Jan 30 2018, 3:23 AM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

web004 is deploying now.

Jan 30 2018, 3:16 AM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

web004 died abruptly so I'm going to fix that and deploy these changes at the same time.

Jan 30 2018, 3:12 AM · Transactions, Ops, Phacility

Jan 29 2018

epriestley updated the task description for T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.).
Jan 29 2018, 11:10 PM · Plans, Data Exporters
epriestley closed T5391: Support custom fields in 'Export to Excel' as Resolved.

Resolved by D18959 + D18960. See also T13049.

Jan 29 2018, 11:08 PM · Data Exporters
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

Even on our fairly normal data, the effect was a little bit more dramatic than I'd expected:

Jan 29 2018, 11:04 PM · Transactions, Ops, Phacility
epriestley closed T5166: Expand the BulkJob tool as Resolved.

D18962 uses this to implement "Export Data" for large result sets.

Jan 29 2018, 10:59 PM · Restricted Project, Phacility, Daemons
epriestley closed T5166: Expand the BulkJob tool, a subtask of T1816: Support downloading a compressed working copy (tar/zip) of a repository at a specific commit or tag, as Resolved.
Jan 29 2018, 10:59 PM · Drydock, Diffusion
epriestley closed T5166: Expand the BulkJob tool, a subtask of T7307: Daemons UI is confusing when you aren't an administrator, as Resolved.
Jan 29 2018, 10:59 PM · Daemons, Phacility
epriestley closed T5166: Expand the BulkJob tool, a subtask of T6004: When moving a wiki page with subpages prompt to also move subpages, as Resolved.
Jan 29 2018, 10:59 PM · Phriction
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

I'm going to optimize + probe secure001 now and see if any of the tables above shrunk. I'm expecting a very modest effect combined with zero user visible changes in the UI despite throwing away a bunch of data.

Jan 29 2018, 8:42 PM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

Took like 3-ish minutes and did this:

Jan 29 2018, 8:40 PM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

I double checked that our backups are working.

Jan 29 2018, 8:35 PM · Transactions, Ops, Phacility
epriestley removed a project from T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs: 🐳.
Jan 29 2018, 7:41 PM · Transactions, Ops, Phacility
epriestley added a project to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs: 🐳.

Editing some edges on the new code as a sanity check before I compact things.

Jan 29 2018, 7:41 PM · Transactions, Ops, Phacility
epriestley added a comment to T13051: Transaction edge storage is inefficient / an instance has 130GB of commit cross-refs.

(Pushing this to secure, stuff might be funky for a minute while I gently massage the database.)

Jan 29 2018, 7:36 PM · Transactions, Ops, Phacility
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 7:31 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 4:59 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 4:52 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 4:25 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Restricted Differential Revision.
Jan 29 2018, 3:57 PM · Plans, Data Exporters
epriestley added a comment to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.).

It looks like PHPExcel was formally deprecated on December 24, 2017 but I'm not planning to switch to its successor, PhpSpreadsheet, until we run into some specific motivator.

Jan 29 2018, 3:46 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 3:35 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 3:26 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 3:22 PM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 5:28 AM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 3:04 AM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Restricted Differential Revision.
Jan 29 2018, 2:35 AM · Plans, Data Exporters
epriestley added a revision to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.): Unknown Object (Differential Revision).
Jan 29 2018, 2:28 AM · Plans, Data Exporters
epriestley added a revision to T13048: Implement a "take action only when this rule didn't match last time" repetition policy for Herald: Unknown Object (Differential Revision).
Jan 29 2018, 1:54 AM · Herald
epriestley added a comment to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.).

See PHI324.

Jan 29 2018, 1:31 AM · Plans, Data Exporters

Jan 28 2018

epriestley added a comment to T13049: Plans: Data Exporters (Excel, JSON, CSV, etc.).

See PHI323.

Jan 28 2018, 3:53 PM · Plans, Data Exporters
epriestley closed T12484: Write some tests for Phortune as Resolved.

This hasn't had any stability issues for a while.

Jan 28 2018, 12:20 AM · Phortune
epriestley closed T12495: Provide a conduit method to retrieve inline comments associated with a diff as Resolved.

transaction.search now returns comments and inlines, including path, line, length, and reply information.

Jan 28 2018, 12:19 AM · Feature Request
epriestley closed T12974: Upgrading: "Ferret" Fulltext Engine as Resolved.

I think everything we know about has been resolved.

Jan 28 2018, 12:03 AM · Installing & Upgrading, Search

Jan 27 2018

epriestley moved T4190: Rebuild remarkup image proxying from Backlog to Intermediate on the Contributor Onboarding board.
Jan 27 2018, 11:49 PM · Contributor Onboarding, Remarkup
yelirekim updated the task description for T13052: Differentiate "Waiting" from "Restarting after an error" on the daemon console.
Jan 27 2018, 10:10 PM · Daemons
epriestley moved T11138: mail is not delivered if metamta.placeholder-to-recipient is null from v3 to Stamps/Failover on the Mail board.
Jan 27 2018, 9:58 PM · Mail, Bug Report
epriestley updated the task description for T13053: Plans: Mail Tags and Failover.
Jan 27 2018, 9:58 PM · Plans, Must Encrypt Mail, Mail