[Bf-committers] Please turn off Auto Run Python Scripts by default

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Jun 12 12:01:41 CEST 2013


On Wed, Jun 12, 2013 at 2:32 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> On Tue, Jun 11, 2013 at 8:49 PM, Brecht Van Lommel
> <brechtvanlommel at pandora.be> wrote:
>> On Tue, Jun 11, 2013 at 8:35 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
>>> - Asking to reload a file is OK, but what if you haven't saved the
>>> file? (eg, you load a new file and append an object with a driver).
>>>   Currently the reload button is just removed in this case and you can
>>> only choose to ignore the warning.
>>
>> I think this message should disappear as soon as you do any operation,
>> same as other messages from operator. Then it can be ignored it
>> without having to do anything.
>
> This message intentionally expects a user action because the blend
> file may behave totally broken if scripts don't run.
>
> Some users click around aimlessly. they might immediately perform some
> action on load that cancels the message,
> or for some reason another message replaces it so fast they are
> unaware scripts are disabled.
>
> We risk users overlooking the warning message, then thinking blender
> is broken or whoever made the blend-file made a mistake.
> For most reports this is OK, but for rigs I worry it means the
> difference between blender working or not.

I don't agree, by making this something that you have to click away it
becomes a modal message and I think it's important to avoid that as
much as possible.

We need to ensure that the user sees this immediately, if they are
already performing other actions and then only find this out later
we've already failed I think. The little flashing animation for
operator reports is perfect to attract attention. If there is a risk
of something else replacing it, we can give the message priority for a
few seconds.

>> The red (X) button also looks more "threatening" than the reload
>> button to me. Further I think the message should be changed, "Script
>> failed to auto-run" makes it sound like it actually tried to run the
>> script but there was some error? I suggest:
>>
>> [ (i) Auto-run script 'some_script.py' disabled | Reload Trusted | Ignore ]
>>
>> It would also be nice if this could follow the same styling as operator reports.
>
> Good suggestions, committed r57384. it looks like this now:
>
> [ (i) Auto-run disabled: Text 'some_script.py' | Reload Trusted | Ignore ]
>
> Changed a little because the text may be a driver expression which can
> be very long and makes the message not read so clearly.
>
>>> Note, many reasonable suggestions have been made in this thread, but
>>> at this point I don't think its useful to reply to all.
>>>
>>> Next Ill check on ways for users to selectively trust blend files for
>>> their own projects so this behavior isn't annoying users.
>>
>> Perhaps what we could do is store a list of .blend file hashes that
>> were trusted or created by the user somewhere.
>
> Main disadvantage with hashes is if you work with others on a shared
> repo, changed hashes will be common then you also have to manage
> clearing old hashes - its doable but would like something thats easier
> for users to manage if possible.

True, it doesn't solve that case. It would mainly be so that for all
the files you saved yourself, or that you trusted once it would never
ask you again.

Brecht.


More information about the Bf-committers mailing list