This PR lays the groundwork for changing persistent config info in
kopia. Specifically, it allows setting the minimum epoch duration (but
does so in a generic manner that can be expanded on later)
This PR only adds the code to actually do the configuration, it doesn't
add wiring to make this new function available to other callers
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #4782
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Switch the remaining call of iterating through
directory entries to explicitly use the iterator
instead of a helper function that takes a
callback
Mostly just just to switch everything over to
the new iterator and to reduce indentation of
things overall
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* closes#4457
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
<!-- PR description-->
We are not making use of `GetSharepointIds()` anymore. It was removed a month back, see [PR](https://github.com/alcionai/corso/pull/4436/files#diff-fc955b9b2e400cdda711ab2b6bf459845369691c5abc3973bbfaa1c83a664688L43). So we don't need to fetch this per item-property from graph during delta queries.
This will reduce overall mem usage since we don't need to store references to the sharepoint id map. It can also make delta queries go slightly faster since we are transferring & processing fewer bytes over network.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
now that folder handling is complete, we can ingest items in the delta tree as well.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🌻 Feature
#### Issue(s)
* #4689
#### Test Plan
- [x] ⚡ Unit test
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 12 to 13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cachix/cachix-action/releases">cachix/cachix-action's releases</a>.</em></p>
<blockquote>
<h2>cachix-action-v13</h2>
<ul>
<li>run on node20</li>
<li>add <code>skipAddingSubstituter</code> to skip running <code>cachix use</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6a2e08b5eb"><code>6a2e08b</code></a> Merge pull request <a href="https://redirect.github.com/cachix/cachix-action/issues/158">#158</a> from cachix/bump-node</li>
<li><a href="e98f643462"><code>e98f643</code></a> Commit dist</li>
<li><a href="2025bdaff1"><code>2025bda</code></a> Bump node in devenv</li>
<li><a href="6d013b15ef"><code>6d013b1</code></a> Bump dependencies</li>
<li><a href="33393dc192"><code>33393dc</code></a> Update tsconfig</li>
<li><a href="1ad072581d"><code>1ad0725</code></a> Merge pull request <a href="https://redirect.github.com/cachix/cachix-action/issues/156">#156</a> from cachix/dependabot/github_actions/cachix/install-...</li>
<li><a href="70d2b7fe3d"><code>70d2b7f</code></a> Merge pull request <a href="https://redirect.github.com/cachix/cachix-action/issues/157">#157</a> from cachix/dependabot/github_actions/actions/checkout-4</li>
<li><a href="d0ac1486c5"><code>d0ac148</code></a> Run on node20</li>
<li><a href="fe4b2e9abc"><code>fe4b2e9</code></a> chore(deps): bump actions/checkout from 3 to 4</li>
<li><a href="8d53462873"><code>8d53462</code></a> chore(deps): bump cachix/install-nix-action from 22 to 23</li>
<li>Additional commits viewable in <a href="https://github.com/cachix/cachix-action/compare/v12...v13">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 23 to 24.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's releases</a>.</em></p>
<blockquote>
<h2>install-nix-action-v24</h2>
<ul>
<li>Nix 2.19.1</li>
<li>enables KVM on linux</li>
<li>set <code>TMPDIR</code> to avoid potential disk space issues</li>
<li>don't use the default GitHub token for Enterprise</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7ac1ec2549"><code>7ac1ec2</code></a> Nix 2.19.1</li>
<li><a href="dc33a216cb"><code>dc33a21</code></a> Merge pull request <a href="https://redirect.github.com/cachix/install-nix-action/issues/200">#200</a> from cachix/fix/196</li>
<li><a href="2b90cd3130"><code>2b90cd3</code></a> Merge pull request <a href="https://redirect.github.com/cachix/install-nix-action/issues/202">#202</a> from cachix/feature/kvm</li>
<li><a href="fe19c91c6b"><code>fe19c91</code></a> feat: enable KVM on Linux if available</li>
<li><a href="a56e3a8089"><code>a56e3a8</code></a> Merge pull request <a href="https://redirect.github.com/cachix/install-nix-action/issues/199">#199</a> from jalaziz/tempdir</li>
<li><a href="81eb746179"><code>81eb746</code></a> Update install-nix.sh</li>
<li><a href="97a1be3c09"><code>97a1be3</code></a> fix: don't use the default GitHub token for Enterprise</li>
<li><a href="2cce1fd76b"><code>2cce1fd</code></a> fix: Set TMPDIR to avoid disk space issues</li>
<li><a href="300721fe01"><code>300721f</code></a> Merge pull request <a href="https://redirect.github.com/cachix/install-nix-action/issues/193">#193</a> from cachix/dependabot/github_actions/actions/checkout-4</li>
<li><a href="fe6788c5de"><code>fe6788c</code></a> chore(deps): bump actions/checkout from 3 to 4</li>
<li>See full diff in <a href="https://github.com/cachix/install-nix-action/compare/v23...v24">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!-- PR description-->
See https://github.com/alcionai/corso/issues/4780
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [x] 💚 E2E
`resp` is nil if there's an error and `getGroupFromResponse` will panic.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
<!-- PR description-->
We are logging a recoverable error in 2 places for the same failure during lazy item download. See the [code](6307d8cbf6/src/internal/kopia/upload.go (L228)) for the other location. For e.g. below 2 recoverable errors are referring to the same graph 400 failure.
`running backup: recoverable error 1 of 6: downloading item content: retrieving expired item: getting item: Invalid request: Invalid request`
`
running backup: recoverable error 2 of 6: kopia reported error: fetching item content: retrieving expired item: getting item: Invalid request: Invalid request`
Removing the duplicate since it can be confusing to the end user & devs.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [x] 🕐 Yes, but in a later PR
- [ ] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Make referenced secret consistent. Will update environment once this merges.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [x] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Test Plan
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Switch notification to be per workflow instead of per action. This means that CI jobs that want to check the result of the binary publish step will need to do so manually after the step runs.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [x] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
* closes#4758
#### Test Plan
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Makes modifications to the groups handlers to facilitate the incoming introduction of conversations backup handling. Changes include:
* new handler methods (canMakeDeltas and LocationRef)
* binding handlers to generics
* some naming normalization
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🌻 Feature
#### Issue(s)
* #4536
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
there are certain enumeration cases where tombstoning isn't the correct behavior, and we want to delete a folder from the tree entirely. This primarily occurrs when we have a create->delete pair of markers either within or across enumerations.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
#### Issue(s)
* #4689
#### Test Plan
- [x] ⚡ Unit test
Fix notification delivery for sanity test failures
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [x] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Bumps [github.com/microsoftgraph/msgraph-sdk-go](https://github.com/microsoftgraph/msgraph-sdk-go) from 1.25.0 to 1.26.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go/blob/main/CHANGELOG.md">github.com/microsoftgraph/msgraph-sdk-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.26.0]- 2023-11-29</h2>
<ul>
<li>Weekly generation.</li>
</ul>
<h3>Changed</h3>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a233e14ba6"><code>a233e14</code></a> Generated models and request builders (<a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/625">#625</a>)</li>
<li><a href="1fedd2da9a"><code>1fedd2d</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/624">#624</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="525b63b9dd"><code>525b63b</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.2 to 1.5.3</li>
<li><a href="93ffe8bec8"><code>93ffe8b</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/623">#623</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="77fd0e633f"><code>77fd0e6</code></a> Bump github.com/microsoftgraph/msgraph-sdk-go-core from 1.0.0 to 1.0.1</li>
<li><a href="36fddc6257"><code>36fddc6</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/622">#622</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="9eb8303dcf"><code>9eb8303</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.1 to 1.5.2</li>
<li><a href="f1a813ffa1"><code>f1a813f</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/621">#621</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="d5d65a8cff"><code>d5d65a8</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.0 to 1.5.1</li>
<li><a href="f3bebc59bb"><code>f3bebc5</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go/issues/616">#616</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li>Additional commits viewable in <a href="https://github.com/microsoftgraph/msgraph-sdk-go/compare/v1.25.0...v1.26.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!-- PR description-->
We use kiota retry handlers for 503 and 504 retries. We have a request from SDK users to configure number of retry attempts for 5xx errors. We already have configurability around retry attempts, plumbing it through to kiota retry handler.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
<!-- PR description-->
Switch to configurable retries/timeouts/backoffs. Set up PR for https://github.com/alcionai/corso/pull/4750/files testing.
With configurable retries, we can cut down the `TestRetryMiddleware_RetryResponse_maintainBodyAfter503` runtime from ~40seconds to around 1-2 seconds in the following PR #4750
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
<!-- PR description-->
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* closes https://github.com/alcionai/corso/issues/4652
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
<!-- PR description-->
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
The export sanity tests were not running because the if condition was not being evaluated correctly.
**Export sanity tests are currently broken. We never detected it as we were never running it.**
<!-- PR description-->
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
kopia/kopia#3365 switched kopia to use iterators
for traversing directory entries instead of
callbacks
This PR adds a new iterator struct that uses a
state machine to traverse the different data
sources we use to back a single directory passed
to kopia. While the state machine execution
logic is new, much of the logic for returning
individual entries is adapted from existing code
Recommend viewing by commit and possibly
ignoring whitespace changes
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #4457
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
begins implementation of the drive delta tree support by adding boilerplate funcs for getting the backup data, and adding a framework of unit tests that will be used bring testing parity up to par with current tests.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Issue(s)
* #4689
#### Test Plan
- [x] ⚡ Unit test
adds SetFolder and AddTombstone operations
to the drive delta tree.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🌻 Feature
#### Issue(s)
* #4689
#### Test Plan
- [x] ⚡ Unit test
Switch restore code path to use service-level handlers. Does a few
things:
* switches existing service-level functions to be methods on
service-level handlers
* update interfaces as necessary
* moves some logic from old controller-level restore function to either
the new handlers or the operation-level function
* removes old code
May be easiest to review by commit
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #4254
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.18.0 to 0.19.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a8e0109124"><code>a8e0109</code></a> go.mod: update golang.org/x dependencies</li>
<li><a href="13e88dd2f7"><code>13e88dd</code></a> quic: rename listener{_test}.go to endpoint{_test}.go</li>
<li><a href="e26b9a4457"><code>e26b9a4</code></a> quic: rename Listener to Endpoint</li>
<li><a href="399218d6bc"><code>399218d</code></a> quic: implement stream flush</li>
<li><a href="d87f99be5d"><code>d87f99b</code></a> quic: idle timeouts, handshake timeouts, and keepalive</li>
<li><a href="7b5abfaf7f"><code>7b5abfa</code></a> quic: basic qlog support</li>
<li>See full diff in <a href="https://github.com/golang/net/compare/v0.18.0...v0.19.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.15.0 to 0.16.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a9ef4cfeac"><code>a9ef4cf</code></a> go.mod: update golang.org/x dependencies</li>
<li><a href="d9b9452656"><code>d9b9452</code></a> gopls/internal/lsp/cache: move quick-fix bundling logic to the cache pkg</li>
<li><a href="1733061d5f"><code>1733061</code></a> go/analysis/passes/testinggoroutine: report by enclosing regions</li>
<li><a href="b19be0fa71"><code>b19be0f</code></a> gopls/internal/cmd/help_test.go: document</li>
<li><a href="daa4aa59ed"><code>daa4aa5</code></a> gopls/internal/lsp/source: stubmethods: fix out-of-bounds index</li>
<li><a href="a586d0db84"><code>a586d0d</code></a> go/types/internal/play: show more types.Scope detail</li>
<li><a href="53ad329bd9"><code>53ad329</code></a> gopls/internal/lsp/source: move edit logic into the protocol package</li>
<li><a href="3c677e3f7d"><code>3c677e3</code></a> gopls/internal/lsp/cache: move SuggestedFixFromCommand into cache</li>
<li><a href="ab6af7d4bb"><code>ab6af7d</code></a> gopls/internal/lsp/source: extract InDir to a new pathutil package</li>
<li><a href="e7d61d9d57"><code>e7d61d9</code></a> gopls/internal/lsp/cache: simplify named error values</li>
<li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.15.0...v0.16.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [golang.org/x/time](https://github.com/golang/time) from 0.4.0 to 0.5.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="883aed5197"><code>883aed5</code></a> rate: add documentation on Limiter concurrent usage</li>
<li>See full diff in <a href="https://github.com/golang/time/compare/v0.4.0...v0.5.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!-- PR description-->
Adds regression tests for query params & headers used for delta/non delta requests. Closes https://github.com/alcionai/corso/issues/4614
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/4614
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Rework restore return status so that later PRs will have a smaller diff
Instead of returning a status and then waiting on the message just return the restore stats directly. The status getter was only setup to wait for one item anyway and was setup to wait after the entire restore operation already completed (at end of
m365/restore.go:ConsumeRestoreCollections())
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #4254
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
Bumps [github.com/microsoftgraph/msgraph-sdk-go-core](https://github.com/microsoftgraph/msgraph-sdk-go-core) from 1.0.0 to 1.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go-core/releases">github.com/microsoftgraph/msgraph-sdk-go-core's releases</a>.</em></p>
<blockquote>
<h2>v1.0.1</h2>
<h3>Changed</h3>
<ul>
<li>Fixed a bug where page iterator would panic if it couldn't find the GetValue method on the collection.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go-core/blob/main/CHANGELOG.md">github.com/microsoftgraph/msgraph-sdk-go-core's changelog</a>.</em></p>
<blockquote>
<h2>[1.0.1] - 2023-11-24</h2>
<h3>Changed</h3>
<ul>
<li>Fixed a bug where page iterator would panic if it couldn't find the GetValue method on the collection.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1eda54572b"><code>1eda545</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/245">#245</a> from manisharma/panic-fix</li>
<li><a href="471e50b4bc"><code>471e50b</code></a> - adds changelog entry for fix</li>
<li><a href="8ebe404a49"><code>8ebe404</code></a> re-stored deleted test setup</li>
<li><a href="d23f107090"><code>d23f107</code></a> unit test for convertToPage</li>
<li><a href="cd0c170455"><code>cd0c170</code></a> method.IsNil() panics and the actual error is never returned</li>
<li><a href="c73cc93da7"><code>c73cc93</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/244">#244</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="a801561ec5"><code>a801561</code></a> Bump github.com/microsoft/kiota-http-go from 1.1.0 to 1.1.1</li>
<li><a href="5bc4a3ae59"><code>5bc4a3a</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/243">#243</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="f6dfdd8c72"><code>f6dfdd8</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.1 to 1.5.2</li>
<li><a href="114c7fa488"><code>114c7fa</code></a> Merge pull request <a href="https://redirect.github.com/microsoftgraph/msgraph-sdk-go-core/issues/242">#242</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li>Additional commits viewable in <a href="https://github.com/microsoftgraph/msgraph-sdk-go-core/compare/v1.0.0...v1.0.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [github.com/microsoft/kiota-abstractions-go](https://github.com/microsoft/kiota-abstractions-go) from 1.5.2 to 1.5.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-abstractions-go/releases">github.com/microsoft/kiota-abstractions-go's releases</a>.</em></p>
<blockquote>
<h2>v1.5.3</h2>
<h3>Added</h3>
<ul>
<li>Added support for multi valued query and path parameters of type other than string. <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/pull/124">#124</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-abstractions-go/blob/main/CHANGELOG.md">github.com/microsoft/kiota-abstractions-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.5.3] - 2023-11-24</h2>
<h3>Added</h3>
<ul>
<li>Added support for multi valued query and path parameters of type other than string. <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/pull/124">#124</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="920cc73050"><code>920cc73</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/issues/124">#124</a> from papegaaij/fix-int64-slice-query-paramers</li>
<li><a href="de1d6c994c"><code>de1d6c9</code></a> Update changelog</li>
<li><a href="fcaa8a3174"><code>fcaa8a3</code></a> Normalize slices of all types to []any</li>
<li>See full diff in <a href="https://github.com/microsoft/kiota-abstractions-go/compare/v1.5.2...v1.5.3">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!-- PR description-->
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Bumps [github.com/microsoft/kiota-abstractions-go](https://github.com/microsoft/kiota-abstractions-go) from 1.4.0 to 1.5.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-abstractions-go/releases">github.com/microsoft/kiota-abstractions-go's releases</a>.</em></p>
<blockquote>
<h2>v1.5.2</h2>
<h3>Added</h3>
<ul>
<li>Added ApiErrorable interface. <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/110">microsoft/kiota-http-go#110</a></li>
</ul>
<h2>v1.5.1</h2>
<h3>Added</h3>
<ul>
<li>Added support for query an path parameters of enum type. <a href="https://redirect.github.com/microsoft/kiota/issues/3693">microsoft/kiota#3693</a></li>
</ul>
<h2>v1.5.0</h2>
<h3>Added</h3>
<ul>
<li>Added request information methods to reduce the amount of generated code.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-abstractions-go/blob/main/CHANGELOG.md">github.com/microsoft/kiota-abstractions-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.5.2] - 2023-11-22</h2>
<h3>Added</h3>
<ul>
<li>Added ApiErrorable interface. <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/110">microsoft/kiota-http-go#110</a></li>
</ul>
<h2>[1.5.1] - 2023-11-15</h2>
<h3>Added</h3>
<ul>
<li>Added support for query an path parameters of enum type. <a href="https://redirect.github.com/microsoft/kiota/issues/3693">microsoft/kiota#3693</a></li>
</ul>
<h2>[1.5.0] - 2023-11-08</h2>
<h3>Added</h3>
<ul>
<li>Added request information methods to reduce the amount of generated code.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="edbb11f8ee"><code>edbb11f</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/issues/123">#123</a> from NerdJeremia/Add-ApiErrorable-interface</li>
<li><a href="adff5e8b05"><code>adff5e8</code></a> update CHANGELOG.md</li>
<li><a href="5cb2a5e97e"><code>5cb2a5e</code></a> add ApiErrorable interface</li>
<li><a href="47652f831b"><code>47652f8</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/issues/120">#120</a> from microsoft/bugfix/enum-queryparameters-serialization</li>
<li><a href="18d4202ace"><code>18d4202</code></a> - upgrades std uri template dependency</li>
<li><a href="5f7feecd91"><code>5f7feec</code></a> adds changelog entry for enum parameters support</li>
<li><a href="5ae9659863"><code>5ae9659</code></a> - adds support for enum path parameters</li>
<li><a href="0348011378"><code>0348011</code></a> - adds support for enum query parameters</li>
<li><a href="2802b20398"><code>2802b20</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/issues/122">#122</a> from microsoft/dependabot/go_modules/go.opentelemetry...</li>
<li><a href="552bee68f5"><code>552bee6</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-abstractions-go/issues/121">#121</a> from microsoft/dependabot/go_modules/go.opentelemetry...</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/kiota-abstractions-go/compare/v1.4.0...v1.5.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [github.com/microsoft/kiota-http-go](https://github.com/microsoft/kiota-http-go) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-http-go/releases">github.com/microsoft/kiota-http-go's releases</a>.</em></p>
<blockquote>
<h2>v1.1.1</h2>
<h3>Added</h3>
<ul>
<li>Added response headers and status code to returned error in <code>throwIfFailedResponse</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/kiota-http-go/blob/main/CHANGELOG.md">github.com/microsoft/kiota-http-go's changelog</a>.</em></p>
<blockquote>
<h2>[1.1.1] - 2023-11-22</h2>
<h3>Added</h3>
<ul>
<li>Added response headers and status code to returned error in <code>throwIfFailedResponse</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="390840a931"><code>390840a</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/125">#125</a> from NerdJeremia/fix/response-headers-in-returned-error</li>
<li><a href="92d11b6643"><code>92d11b6</code></a> use correct err value</li>
<li><a href="651bf8321b"><code>651bf83</code></a> add response headers and status code to prematurely returned error</li>
<li><a href="f5fbbcd6a3"><code>f5fbbcd</code></a> add response headers and status code to returned error</li>
<li><a href="7176e1cccf"><code>7176e1c</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/124">#124</a> from microsoft/dependabot/go_modules/github.com/micro...</li>
<li><a href="296d32a734"><code>296d32a</code></a> Bump github.com/microsoft/kiota-abstractions-go from 1.5.0 to 1.5.1</li>
<li><a href="6cec5c7fde"><code>6cec5c7</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/123">#123</a> from microsoft/dependabot/go_modules/go.opentelemetry...</li>
<li><a href="306bc97476"><code>306bc97</code></a> Merge pull request <a href="https://redirect.github.com/microsoft/kiota-http-go/issues/122">#122</a> from microsoft/dependabot/go_modules/go.opentelemetry...</li>
<li><a href="ccf2bedc49"><code>ccf2bed</code></a> Bump go.opentelemetry.io/otel/trace from 1.20.0 to 1.21.0</li>
<li><a href="50c13cf1fa"><code>50c13cf</code></a> Bump go.opentelemetry.io/otel from 1.20.0 to 1.21.0</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/kiota-http-go/compare/v1.1.0...v1.1.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Move `ResetLimiter()` call to defer block to ensure that it gets called even if the backup fails. Without this change, any following mailbox backups may get artificially throttled by limiter.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Log both the given limits and the effective limits so we can figure out if something went wrong.
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Minor cleanup that will also help reduce diff for future changes.
Instead of taking in a details builder and adding to it during
restore, just create a local details builder and return the built
details to the caller
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #4254
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Add logic and tests for preview backups in drive-backed services.
Does slightly change a few of the options for preview backup limits
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E