Skip to content
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

feat: server events web hook #1435

Draft
wants to merge 14 commits into
base: trunk
Choose a base branch
from
Draft

feat: server events web hook #1435

wants to merge 14 commits into from

Conversation

gkc
Copy link
Contributor

@gkc gkc commented Jul 5, 2023

- What I did

  • feat: Added experimental ability for server to send basic interaction event telemetry (client-to-server interactions, server-to-server interactions) to a configured web-hook, if any
  • feat: Added telemetryEventWebHook to AtSecondaryConfig, enable it to be set from environment or config.yaml
  • feat: Added ability for authenticated client to configure the web-hook uri. When this happens, the uri is persisted, and will override whatever was set via environment or config.yaml. Usage examples:
    • to set: config:set:telemetryEventWebHook=https://your.domain.testing.zone/hook
    • to reset to default (empty) : config:reset:telemetryEventWebHook
    • and to print current value : config:print:telemetryEventWebHook
  • feat: removed testingMode guard in AtSecondaryConfig's subscribe and broadcastConfigChange methods since
    • (a) we now have configs that may be set on non-testing-mode servers and
    • (b) the guard, to prevent configs which require testingMode being set when testingMode is not enabled, has been added to the ConfigVerbHandler
  • refactor: moved the telemetry initialization code into one method in AtSecondaryServerImpl
  • build: updated pubspec to require later version of dart sdk because we are now using the enhanced enums feature for the ModifiableConfigs enum

- How to verify it
All tests should pass

gkc added 12 commits April 28, 2023 11:13
…lient-to-server interactions, server-to-server interactions) to a configured web-hook, if any
# Conflicts:
#	packages/at_secondary_server/lib/src/connection/inbound/inbound_connection_impl.dart
#	packages/at_secondary_server/lib/src/connection/inbound/inbound_message_listener.dart
#	packages/at_secondary_server/lib/src/server/at_secondary_impl.dart
#	packages/at_secondary_server/lib/src/verb/handler/config_verb_handler.dart
…'runtime' directory if it doesn't exist already
# Conflicts:
#	packages/at_secondary_server/pubspec.yaml
#	tools/run_locally/scripts/macos/at_server
…roadcastConfigChange since (a) we now have configs that may be set on non-testing-mode servers and (b) the guard, to prevent configs which require testingMode being set when testingMode is not enabled, has been added to the ConfigVerbHandler

refactor: moved the telemetry initialization code into one method in AtSecondaryServerImpl
chore: updated pubspec to require later version of dart sdk because we are using the enhanced enums feature for the ModifiableConfigs enum
test: Fixed config verb tests
@gkc gkc marked this pull request as draft December 3, 2023 12:39
# Conflicts:
#	packages/at_secondary_server/lib/src/connection/inbound/inbound_connection_impl.dart
#	packages/at_secondary_server/lib/src/server/at_secondary_config.dart
#	packages/at_secondary_server/lib/src/verb/handler/config_verb_handler.dart
#	packages/at_secondary_server/lib/src/verb/handler/lookup_verb_handler.dart
style: enhance log messages
style: use `super` syntax for constructor parameters
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.

None yet

1 participant