feat(!): enable message identifiers as default - #168
Conversation
🦋 Changeset detectedLatest commit: efd07c3 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Pull request overview
Makes message-identifier settings behavior the default while providing a legacy compatibility option.
Changes:
- Replaces the experimental flag with inverted
useLegacySettingsBehavior. - Validates Stream Deck 7.1 compatibility during configuration and connection.
- Updates settings caching, event filtering, documentation, and tests.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
packages/plugin/src/plugin/settings.ts |
Adds legacy behavior configuration and validation. |
packages/plugin/src/plugin/index.ts |
Validates behavior before connecting. |
packages/plugin/src/plugin/actions/singleton-action.ts |
Updates settings-event documentation. |
packages/plugin/src/plugin/actions/service.ts |
Inverts settings-cache conditions. |
packages/plugin/src/plugin/actions/config.ts |
Defines the new default configuration. |
packages/plugin/src/plugin/actions/action-base.ts |
Enables cached settings by default. |
packages/plugin/src/plugin/actions/__tests__/action.test.ts |
Updates action behavior tests. |
packages/plugin/src/plugin/__tests__/settings.test.ts |
Updates settings-event tests. |
Suppressed comments (1)
packages/plugin/src/plugin/settings.ts:33
- The setter's public documentation has the same omission: this option also changes
onDidReceiveGlobalSettingsbehavior aftergetGlobalSettings(). Include the global-settings event so the property contract is complete in both generated accessors.
* Determines the behavior of when `onDidReceiveSettings` is fired.
*
* - `false` (default) — `onDidReceiveSettings` is only fired after the settings were updated
* within the property inspector.
* - `true` — `onDidReceiveSettings` is fired after the settings were updated within the property
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Suppressed comments (1)
packages/plugin/src/plugin/settings.ts:21
- The legacy-mode description is incomplete for global settings:
onDidReceiveGlobalSettingsis emitted aftergetGlobalSettings(), not afteraction.getSettings(). Mention both corresponding getter APIs so consumers understand what enabling this option restores.
* - `true` — `onDidReceiveSettings` and `onDidReceiveGlobalSettings` are fired after the settings
* were updated within the property inspector, and after calling `action.getSettings()`.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Suppressed comments (2)
packages/plugin/src/plugin/settings.ts:31
- Grammar: this refers to two events, so it should use plural agreement ("are fired") or be rephrased.
* Determines the behavior of when `onDidReceiveSettings` and `onDidReceiveGlobalSettings` is fired.
packages/plugin/src/plugin/settings.ts:75
- This docstring becomes inaccurate when
streamDeck.settings.useLegacySettingsBehavioris enabled: in that mode the listener will also fire for global-settings responses triggered bygetGlobalSettings()(those events includeev.id, which is only filtered out in non-legacy mode).
* Occurs when the global settings were updated within the property inspector.
onDidReceive[Global]Settings.useExperimentalMessageIdentifierswithuseLegacySettingsBehavior