Page MenuHomePhabricator

Calendar Imports have the correct policy, but that policy is unclear
Closed, ResolvedPublic

Assigned To
None
Authored By
hach-que
Nov 8 2016, 9:56 PM
Referenced Files
F1912119: pasted_file
Nov 8 2016, 10:08 PM
F1912112: pasted_file
Nov 8 2016, 9:56 PM
F1912108: pasted_file
Nov 8 2016, 9:56 PM
F1912110: pasted_file
Nov 8 2016, 9:56 PM

Description

So I went to use the new Calendar import functionality to import my private calendar into Phabricator, so that I wouldn't have to switch to Google Calendar to see my agenda for the day.

I went and configured an import and set the policies to be visible and editable only to me (the default), but when it imported the events it made them public to All Users, which is definitely not what I expected. I'm now trying to frantically clean up all my private data which Phabricator made public, and it isn't helping that "Delete Imported Events" seems to be not working either.

Reproduction Steps:

  1. Set up a new import
  2. Observe the policies are set to visible / editable by you only
  3. Import events, everything is public to All Users

With regard to Delete All Events not working, I can see:

pasted_file (214×231 px, 14 KB)

pasted_file (141×198 px, 4 KB)

Then after pressing "Delete All Events" and confirming, those events are still visible in the system:

pasted_file (360×473 px, 32 KB)

This is just a 100% nightmare.

Expected Results:

Phabricator honors policy settings.

Actual Results:

Phabricator makes all your private events public.

Event Timeline

Oh god it's still importing even after I disabled the import and deleted events.

Okay, so I ended up having to restart my Phabricator instance to get the import to stop, then "Delete Imported Events" seemed to work right even though it took a reasonably long time to complete from the web UI (I feel like it should really be using the bulk operation infrastructure).

But yeah, it is 100% not good to show this:

pasted_file (108×450 px, 13 KB)

and then attach a policy of "All Users" to the imported events.

I think it makes more sense to have events inherit their policy from the import that created them (if they are imported events)? i.e. rather than copy policy settings on import, make the policy pull from the import similar to other systems (like how "build target" view policy is pulled from the "build" view policy).

The advantage of this is that if someone actually does set the wrong policy for the initial import, they can quickly fix up the policies on all imported events just by changing the policy on the import itself.

The policies work like you expect them to. This is just like a revision saying "All Users" but not being visible to users who can't see the corresponding repository.

That said, I'm probably going to change how the UI works.

epriestley renamed this task from Calendar Imports have the wrong policy set to Calendar Imports have the correct policy, but that policy is unclear.Nov 9 2016, 5:39 PM