Skip to content

feat(!): enable message identifiers as default - #168

Merged
GeekyEggo merged 11 commits into
v3from
default-settings-behavior
Aug 27, 2026
Merged

feat(!): enable message identifiers as default#168
GeekyEggo merged 11 commits into
v3from
default-settings-behavior

Conversation

@GeekyEggo

Copy link
Copy Markdown
Member
  • Enables message identifiers as default, improving the behaviour of onDidReceive[Global]Settings.
  • Replaces previous useExperimentalMessageIdentifiers with useLegacySettingsBehavior

@GeekyEggo
GeekyEggo requested a balanced review from Copilot August 24, 2026 16:39
@changeset-bot

changeset-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: efd07c3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@elgato/streamdeck Major

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 onDidReceiveGlobalSettings behavior after getGlobalSettings(). 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.

Comment thread packages/plugin/src/plugin/index.ts Outdated
Comment thread packages/plugin/src/plugin/actions/service.ts
Comment thread packages/plugin/src/plugin/settings.ts
Comment thread packages/plugin/src/plugin/settings.ts Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Comment thread packages/plugin/src/plugin/settings.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: onDidReceiveGlobalSettings is emitted after getGlobalSettings(), not after action.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()`.

Comment thread packages/plugin/src/plugin/settings.ts
Comment thread packages/plugin/src/plugin/actions/action-base.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.useLegacySettingsBehavior is enabled: in that mode the listener will also fire for global-settings responses triggered by getGlobalSettings() (those events include ev.id, which is only filtered out in non-legacy mode).
	 * Occurs when the global settings were updated within the property inspector.

Comment thread packages/plugin/src/plugin/settings.ts Outdated
Comment thread packages/plugin/src/plugin/settings.ts
Comment thread packages/plugin/src/plugin/settings.ts Outdated
Comment thread packages/plugin/src/plugin/actions/config.ts Outdated
@GeekyEggo
GeekyEggo requested a lite review from Copilot August 27, 2026 11:46
@GeekyEggo
GeekyEggo merged commit 0cbc128 into v3 Aug 27, 2026
5 checks passed
@GeekyEggo
GeekyEggo deleted the default-settings-behavior branch August 27, 2026 11:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants