Allow list of keywords in dual visibility setting (#5065)
<!-- Describe what has changed in this PR -->
**What changed?**
Allow list of keywords in dual visibility setting
<!-- Tell your future self why have you made these changes -->
**Why?**
Let dual visibility with Elasticsearch work with list of keywords for
backwards compatibility.
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
**How did you test it?**
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
**Potential risks**
No. Any setting involving standard visibility will work as usual: custom
search attributes are just ignored and not persisted.
<!-- Is this PR a hotfix candidate or require that a notification be
sent to the broader community? (Yes/No) -->
**Is hotfix candidate?**
No.
**What changed?**
Fix unit tests on release branch
**Why?**
The tests assumed that the change to not track ALLOW_ALL workflows was
already active, but it's not on the release branch. So we just need
mocks for WatchWorkflow.
Use ContinueAsNewSuggested in scheduler workflow (#4990)
**What changed?**
Scheduler workflow uses server-sent suggestion for when to
continue-as-new instead of fixed iteration count.
Note this is not enabled in this PR yet.
**Why?**
Automatically handle history size/event count too large conditions (or
any future conditions added by the server), which we might get if we do
more work than expected per iteration.
**How did you test it?**
new unit tests, also replaced for loop with previous version to verify
actual iteration count didn't change
**Potential risks**
The default history size suggestion is at 4MB, which we could hit after
just a few large payload responses, and then we'd do continue-as-new
more often than we might like.
Expose buffer size and # dropped actions in ScheduleInfo (#4839)
<!-- Describe what has changed in this PR -->
**What changed?**
Expose buffer size and number of dropped actions due to buffer limit in
ScheduleInfo
Related API change: https://github.com/temporalio/api/pull/311
<!-- Tell your future self why have you made these changes -->
**Why?**
Give more visibility into schedule state to the clients.
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
**How did you test it?**
None so far
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
**Potential risks**
None
<!-- Is this PR a hotfix candidate or require that a notification be
sent to the broader community? (Yes/No) -->
**Is hotfix candidate?**
No