fi-0192: Protocol must specify openness {:#fi-0192}

This error indicates that a FIDL protocol does not have an open, ajar, or closed modifier.

{% include “docs/reference/fidl/language/error-catalog/label/_bad.md” %}

{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0192.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}

To fix this, add open, ajar, or closed to the protocol. If this is an existing protocol, you must use closed and should see the compatibility guide for guidance on changing it to open or ajar. If this is a new method, you should see the API rubric for guidance on which to choose.

{% include “docs/reference/fidl/language/error-catalog/label/_good.md” %}

{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0192.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}

FIDL is currently undergoing a migration in order to support handling unknown interactions, defined in RFC-0138. This new feature adds three new modifiers, open, ajar, and closed, which apply to FIDL protocols. Historically, all protocols behaved as though they were closed, however at the end of this migration, the default value will be open. To avoid confusion and possible issues arising from changing the protocol default modifier from closed to open, the protocol modifier is required during this transitional period. When the migration is complete, this will be changed from an error to a linter suggestion.

For more information about unknown interactions, see the FIDL language reference.