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

Dynamically invoke correct trigger when running functions emulator with --inspect-functions flag #4232

Merged
merged 7 commits into from Mar 2, 2022

Conversation

taeold
Copy link
Contributor

@taeold taeold commented Mar 1, 2022

In #4149, we made large refactor of the Functions Runtime. Namely:

  1. We no longer relied on Functions Runtime to parse triggers. Instead, we use RuntimeDelegate, the same procedure used to parse trigger in firebase deploy command.

  2. Each process running the Functions Runtime was bound to a specific trigger.

Unfortunately, this change broke support for --inspect-function where users can attach Node Debugger to step through their function when triggered.

The debugging experience supported w/ --inspect-function relies on the fact that a single process executes all function triggers. This is drastically different to how functions run in Production environment, but it is a very useful feature that makes it easy to step through all functions in a single debug session.

I wasn't aware of the debugging capabilities when making the refactor. Unfortunately, the debug feature cuts across a strong assumption I've made for the future of Functions Emulator. This is a rather hasty rollback - I'm going to have to think more deeply about how we want the evolve this feature.

Fixes #4189, #4166

@taeold taeold marked this pull request as ready for review March 1, 2022 15:07
CHANGELOG.md Outdated Show resolved Hide resolved
@taeold taeold enabled auto-merge (squash) March 2, 2022 19:00
@taeold taeold merged commit b1099a2 into master Mar 2, 2022
@bkendall bkendall deleted the dl-cf3-emulator-debug branch March 18, 2022 23:19
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.

Local Function Emulator Triggering wrong function
2 participants