New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unexpected exclusion behavior for string preference #83
Comments
Thanks for the detail, I will look at it soon, have been away for a few days and one more, then Ill look and fix whats need fixxing |
I'm going to look at this now. If you are only interested if the key is empty, you can use the |
I've updated the trigger that if a cell view that is a textfield is the target of an exclusion or inclusion rule, it will update. Sent you a video on Slack, check that and see if that solved what you were looking for. |
The video you sent in Slack looks good! Thanks for fixing this. |
I've been working on a manifest for AirServer and am having some trouble achieving the desired visual exclusion messages between two preferences.
Scenario:
Preference 1 (
com.airserver.dualAirPlay
), which isboolean
, if set totrue
indicates that AirServer will communicate itself as two separate devices - an Apple TV and an audio-only streaming device for iTunes. If this preference is set totrue
it also allows for a second optional preference (UserLosslessAudioReceiverName
), which is astring
, to set unique name for this audio-only streaming device.As a result I'm trying to accomplish the following in the AirServer manifest:
UserLosslessAudioReceiverName
is added, produce an exclusion message ifcom.airserver.dualAirPlay
is not also added.UserLosslessAudioReceiverName
is added butcom.airserver.dualAirPlay
is not set totrue
, produce an exclusion message.com.airserver.dualAirPlay
is added and set totrue
andUserLosslessAudioReceiverName
is added, produce an error if theUserLosslessAudioReceiverName
text field is empty.Manifest Setup:
I based my manifest off the
com.microsoft.Outlook
manifest, which has twoboolean
preferencesPII_And_Intelligent_Services_Preference
&kFREIntelligenceServicesConsentV2Key
, each which require the other to be present andtrue
. Notable, upon adding the required preference and changing the setting each preference to betrue
orfalse
immediately updates the applicable exclusion messages.Below is my manifest for the two applicable preferences
com.airserverapp.dualAirPlay
UserLosslessAudioReceiverName
Issues:
When the
UserLosslessAudioReceiverName
preference is added, it correctly produces an exclusion warning thatcom.airserverapp.dualAirPlay
doesn't exist:When
com.airserverapp.dualAirPlay
is added, it correctly produces an exclusion warning thatcom.airserverapp.dualAirPlay
must betrue
in order forUserLosslessAudioReceiverName
to be present.However, changing
com.airserverapp.dualAirPlay
totrue
doesn't remove the exclusion message.Conversely, if I add
pfm_default
with a value oftrue
forcom.airserverapp.dualAirPlay
it correctly doesn't show the previous exclusion message. However, changing this default setting oftrue
tofalse
does not then produce the expected exclusion message.Additionally, with
pfm_default
with a value oftrue
forcom.airserverapp.dualAirPlay
if I first add this preference and then add theUserLosslessAudioReceiverName
preference, it correctly produces the desired exclusion message thatUserLosslessAudioReceiverName
is blank.However, adding text to the
UserLosslessAudioReceiverName
field does not then remove the exclusion message. Only after toggling thecom.airserverapp.dualAirPlay
tofalse
and thentrue
will the message go away.Conversely, with
pfm_default
set totrue
forcom.airserverapp.dualAirPlay
, if I first add theUserLosslessAudioReceiverName
preference and some text into the field, when I add thecom.airserverapp.dualAirPlay
it does correctly produce no exclusion messages.Removing the previously entered text does not produce the exclusion message, but toggling the
com.airserverapp.dualAirPlay
checkbox off and then on again does produce the exclusion message.Theory:
It appears there's something in ProfileCreator that correctly causes the exclusion rules between two boolean preferences to be updated correctly. The above issues appear to be a function of when ProfileCreator analyzes the exclusion rules for
string
preferences and that these never get rerun after these preferences are added or updated.Possible Solution?
If there's not an easy mechanism to rerun exclusion rules for
string
preferences when the text field is de-selected, or some other action is taken in the GUI, perhaps it would be possible to add a "Refresh" button for text fields that have one or more exclusion rules tied to them, which could then be clicked to rerun these rule checking mechanism.The text was updated successfully, but these errors were encountered: