<!-- PR description-->
These will both go out on the 10th, they have 2 different dates to make
sure the blog orders them correctly
---
#### 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
- [x] 🗺️ 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
---------
Co-authored-by: Niraj Tolia <ntolia@users.noreply.github.com>
Separates the log level and log format. This will allows sdk consumers using `SeedLogger` to utilize JSON
format logs without sacrificing log level controls.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🤖 Supportability/Tests
#### Test Plan
- [x] 💪 Manual
adds logical changes required for sharepoint permission handling, both backup and restore.
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
#### Type of change
- [x] 🌻 Feature
#### Issue(s)
* #3135
#### Test Plan
- [x] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
This moves the major chunk of sanity testing code (backup -> restore
-> verify -> list -> list backup) into a separate action and use that
in the primary test instead of repeating the same thing over and over.
Successful run: https://github.com/alcionai/corso/actions/runs/4980277816/jobs/8912982952
---
#### 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
- [ ] ⚡ Unit test
- [ ] 💚 E2E
adds a transformer func in path/elements.go to safely log a repoRef (or any other dir ref) without needing to conceal the entire string.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] ⚡ Unit test
No logic changes, just renaming and minor cleanup.
PRs to follow:
1. collect various maps in onedrive collections into a single cache.
2. logic changes and tests to produce sharepoint permissions backup/restore e2e.
3. extend permission identity-type retention.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #3135
#### Test Plan
- [x] ⚡ Unit test
move the end-of-op notification event to a defer within backup/restore.Do(). This ensures we'll get the end event data even in case of failure.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🐛 Bugfix
- [x] 🤖 Supportability/Tests
#### Issue(s)
* #3388
#### Test Plan
Small typo fix for metadata store.
---
#### 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
- [ ] 🧹 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
https://github.com/alcionai/corso/pull/3212#discussion_r1191768302
---
#### 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
- [ ] ⚡ Unit test
- [ ] 💚 E2E
When the user's mailbox is full, we cannot make use of delta apis. This adds initial changes needed to create separate delta and non delta pagers for all of exchange.
*I would suggest looking commit wise when reviewing the PR.*
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ] ⛔ 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.-->
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.261 to 1.44.262.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.262 (2023-05-11)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/connect</code>: Updates service documentation</li>
<li><code>service/elasticache</code>: Updates service API and documentation
<ul>
<li>Added support to modify the cluster mode configuration for the existing ElastiCache ReplicationGroups. Customers can now modify the configuration from cluster mode disabled to cluster mode enabled.</li>
</ul>
</li>
<li><code>service/es</code>: Updates service API and documentation
<ul>
<li>This release fixes DescribePackages API error with null filter value parameter.</li>
</ul>
</li>
<li><code>service/health</code>: Updates service documentation
<ul>
<li>Add support for regional endpoints</li>
</ul>
</li>
<li><code>service/ivs-realtime</code>: Updates service API, documentation, and paginators</li>
<li><code>service/omics</code>: Updates service API, documentation, and paginators</li>
<li><code>service/opensearch</code>: Updates service API</li>
<li><code>service/route53resolver</code>: Adds new service</li>
<li><code>service/support</code>: Updates service API and documentation
<ul>
<li>This release adds 2 new Support APIs, DescribeCreateCaseOptions and DescribeSupportedLanguages. You can use these new APIs to get available support languages.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="88d6da1d05"><code>88d6da1</code></a> Release v1.44.262 (2023-05-11) (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4837">#4837</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.261...v1.44.262">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 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>
Swaps path.Append from a single item method to accept a variadic list of string elements. Since 95% of all calls to path.Append were items, also adds a shorthand
AppendItem func to the interface for easy clarity. Finally, adds a Last() method to elements for getting the last element in the slice.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
Store all folders from Exchange by folder ID
in kopia. Remove the old duplicate folder
name stop-gap measure as well since it's no
longer required
Update tests to check LocationPath instead
of FullPath since LocationPath still has
display name info
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ] ⛔ No
#### Type of change
- [x] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
* closes#3197
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [x] 💚 E2E
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
Move linting into the main CI workflow
Split into a different PR so that the file checker
gets updated and we can actually see if this is
working as intended
---
#### 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
- [x] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
* closes#3389
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Now that the rate limiter is split by service, we can further split by per-query token consumption. Two primary service cases exist: all exchange queries assume to cost a single token (for now). Drive-service queries are split between permissions (5), default cost (2), and single-item or delta gets (1).
---
#### Does this PR need a docs update or release note?
- [x] 🕐 Yes, but in a later PR
#### Type of change
- [x] 🌻 Feature
#### Issue(s)
* #2951
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.260 to 1.44.261.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.261 (2023-05-10)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/elasticmapreduce</code>: Updates service API and documentation
<ul>
<li>EMR Studio now supports programmatically executing a Notebooks on an EMR on EKS cluster. In addition, notebooks can now be executed by specifying its location in S3.</li>
</ul>
</li>
<li><code>service/rds</code>: Updates service API, documentation, waiters, paginators, and examples
<ul>
<li>Amazon Relational Database Service (RDS) updates for the new Aurora I/O-Optimized storage type for Amazon Aurora DB clusters</li>
</ul>
</li>
<li><code>service/swf</code>: Updates service API and documentation
<ul>
<li>This release adds a new API parameter to exclude old history events from decision tasks.</li>
</ul>
</li>
</ul>
<h3>SDK Bugs</h3>
<ul>
<li><code>service/sms</code>: Remove deprecated services (SMS) integration tests.
<ul>
<li>SMS integration tests will fail because SMS deprecated their service.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c741f7708a"><code>c741f77</code></a> Release v1.44.261 (2023-05-10) (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4836">#4836</a>)</li>
<li><a href="225097cc88"><code>225097c</code></a> remove deprecated service AWS SMS integ tests (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4834">#4834</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.260...v1.44.261">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 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>
Pickup a few missed things to get linting running
on github actions changes
Lint job is re-added in #3391 which will merge
after this one does so we can verify it's working
---
#### 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
#### Issues
* #3389
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
<!-- PR description-->
passing '/' will select anything for backup details and restore for onedrive and sharepoint
#### 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. -->
* #https://github.com/alcionai/corso/issues/3252
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Not 100% happy with the flag name, and am open to suggestions.
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
#### Type of change
- [x] 🌻 Feature
- [x] 🗺️ Documentation
#### Test Plan
- [x] 💪 Manual
- [x] ⚡ Unit test
They both implement the same underlying functionality, just in slightly different ways. Combine them so there's less code duplication.
---
#### 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
adds a tombstone collection for any drive that has been completely deleted (or that surfaced from a prior backup, but does not exist in the current) from the driveish account.
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
#### Type of change
- [x] 🐛 Bugfix
#### Issue(s)
* #3379
#### Test Plan
- [x] ⚡ Unit test
In preparation for switching to folder IDs,
add logic to generate the restore path based
on prefix information from the RepoRef and
LocationRef of items
Contains fallback code (and tests) to handle
older details versions that may not have had
LocationRef
Manually tested restore from old backup that
didn't have any LocationRef information
Manually tested restore checking that
calendar names are shown instead of IDs in
progress bar
---
#### 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)
* #3197
* fixes#3218
#### Test Plan
- [x] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Adds a helper for building expected details entries and checking
them after a backup. Implements the helper in the exchange backup
tests in operations/backup integration. Will follow with a onedrive
implementation.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🤖 Supportability/Tests
#### Issue(s)
* #3240
#### Test Plan
- [x] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #3344
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
Normalize all test folders to use a constant prefix: Corso_Test. This cleans up and centralizes all per- test variations on the restore destination.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🤖 Supportability/Tests
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 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
- [ ] 🤖 Supportability/Tests
- [x] 💻 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
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p>
<blockquote>
<h2>gopls/v0.9.1</h2>
<p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p>
<p>Thank you to all those who filed crash reports, and apologies for the breakage!</p>
<h2>gopls@v0.9.0</h2>
<p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://redirect.github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p>
<h2>Performance improvements</h2>
<p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p>
<p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p>
<p>Time to process a change notification in the Kubernetes repo:
<img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p>
<h2>New Features</h2>
<h3>Inlay hints</h3>
<p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p>
<p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p>
<h3>Package References</h3>
<p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p>
<h3>Quick-fix to add field names to struct literals</h3>
<p>A new quick fix adds field names to struct literals with unkeyed fields.</p>
<p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p>
<h2>Bug fixes</h2>
<p>This release includes the following notable bugfixes:</p>
<ul>
<li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li>
<li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li>
<li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://redirect.github.com/golang/go/issues/45317">#45317</a>)</li>
</ul>
<p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>.
To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p>
<h2>Thank you to our contributors!</h2>
<p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p>
<h2>What’s Next?</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4609d79b05"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li>
<li><a href="ddfa2200ae"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li>
<li><a href="344924276c"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li>
<li><a href="0809ec2e45"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li>
<li><a href="8f7fb01dd4"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li>
<li><a href="23e52a3e12"><code>23e52a3</code></a> bisect: diagnose bad targets better</li>
<li><a href="d5af8894fe"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li>
<li><a href="c93329a947"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li>
<li><a href="62197261cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li>
<li><a href="f4d143ebcd"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li>
<li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.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 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-->
Size of emails will be - sum of - size of attachment and size of email body
In case of contacts and events, since mostly everything is data we will check the size as - total serialised bytes
#### 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: --->
- [x] 🐛 Bugfix
#### Issue(s)
* #3152
#### Test Plan
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Can be useful for easy trigger of new changes or on off runs.
---
#### 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
- [x] 💻 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
Begin expanding the restore logic to take a pair of
paths, one denoting the precise location of the item
in kopia and the other denoting the "restore location"
or path the item should be placed at during restore
This PR is not expected to change system functionality
at all
This is the first of 2 PRs to setup all the logic for
this. This PR does not handle properly merging
together multiple collections that have the same
restore location but different RepoRefs due to recent
updates to the kopia wrapper restore logic
---
#### 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)
* #3197
#### Test Plan
- [ ] 💪 Manual
- [x] ⚡ Unit test
- [ ] 💚 E2E
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.256 to 1.44.260.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.260 (2023-05-09)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/application-autoscaling</code>: Updates service API, documentation, and examples</li>
<li><code>service/glue</code>: Updates service API and documentation
<ul>
<li>This release adds AmazonRedshift Source and Target nodes in addition to DynamicTransform OutputSchemas</li>
</ul>
</li>
<li><code>service/sagemaker</code>: Updates service API and documentation
<ul>
<li>This release includes support for (1) Provisioned Concurrency for Amazon SageMaker Serverless Inference and (2) UpdateEndpointWeightsAndCapacities API for Serverless endpoints.</li>
</ul>
</li>
</ul>
<h1>Release v1.44.259 (2023-05-08)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/glue</code>: Updates service API and documentation
<ul>
<li>Support large worker types G.4x and G.8x for Glue Spark</li>
</ul>
</li>
<li><code>service/guardduty</code>: Updates service API and documentation
<ul>
<li>Add AccessDeniedException 403 Error message code to support 3 Tagging related APIs</li>
</ul>
</li>
<li><code>service/iotsitewise</code>: Updates service API and documentation</li>
<li><code>service/sts</code>: Updates service documentation
<ul>
<li>Documentation updates for AWS Security Token Service.</li>
</ul>
</li>
</ul>
<h3>SDK Bugs</h3>
<ul>
<li><code>restjson</code>: Correct failure to deserialize errors.
<ul>
<li>Deserialize generic error information when no response body is present.</li>
</ul>
</li>
</ul>
<h1>Release v1.44.258 (2023-05-05)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/ec2</code>: Updates service API
<ul>
<li>This release adds support the inf2 and trn1n instances. inf2 instances are purpose built for deep learning inference while trn1n instances are powered by AWS Trainium accelerators and they build on the capabilities of Trainium-powered trn1 instances.</li>
</ul>
</li>
<li><code>service/inspector2</code>: Updates service API, documentation, and paginators</li>
<li><code>service/mediatailor</code>: Updates service API and documentation</li>
<li><code>service/sqs</code>: Updates service API, documentation, and paginators
<ul>
<li>Revert previous SQS protocol change.</li>
</ul>
</li>
</ul>
<h1>Release v1.44.257 (2023-05-04)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/config</code>: Updates service API</li>
<li><code>service/connect</code>: Updates service API and documentation</li>
<li><code>service/ecs</code>: Updates service API
<ul>
<li>Documentation update for new error type NamespaceNotFoundException for CreateCluster and UpdateCluster</li>
</ul>
</li>
<li><code>service/monitoring</code>: Updates service API and documentation
<ul>
<li>Adds support for filtering by metric names in CloudWatch Metric Streams.</li>
</ul>
</li>
<li><code>service/network-firewall</code>: Updates service API and documentation</li>
<li><code>service/opensearch</code>: Updates service API and documentation</li>
<li><code>service/quicksight</code>: Updates service API, documentation, and paginators</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9d4285e4b3"><code>9d4285e</code></a> Release v1.44.260 (2023-05-09) (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4833">#4833</a>)</li>
<li><a href="918b70669a"><code>918b706</code></a> fix release notes (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4831">#4831</a>)</li>
<li><a href="a68bf01b26"><code>a68bf01</code></a> Release v1.44.259 (2023-05-08) (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4828">#4828</a>)</li>
<li><a href="fc3c2d6b13"><code>fc3c2d6</code></a> Merge pull request <a href="https://redirect.github.com/aws/aws-sdk-go/issues/4817">#4817</a> from aws/fix-restjson-errors</li>
<li><a href="6eef808052"><code>6eef808</code></a> Release v1.44.258 (2023-05-05) (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4826">#4826</a>)</li>
<li><a href="6a592091df"><code>6a59209</code></a> Release v1.44.257 (2023-05-04) (<a href="https://redirect.github.com/aws/aws-sdk-go/issues/4824">#4824</a>)</li>
<li><a href="35072aa4f3"><code>35072aa</code></a> fix: restjson error deserialization when no body is present</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.256...v1.44.260">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 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>
Reduce errors when updating actions and workflows
and hopefully stop silent failures for things
---
#### 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
- [ ] 🧹 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
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [x] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Test Plan
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Adds a context passdown that allows GC to define the service being queried at a high level, and the rate limiter to utilize different rate limiters based on that info. Malformed or missing limiter config uses the default limiter.
---
#### Does this PR need a docs update or release note?
- [x] 🕐 Yes, but in a later PR
#### Type of change
- [x] 🌻 Feature
#### Issue(s)
* #2951
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
Allows caller to specify a IAM role to assume in the Kopia storage provider
---
#### 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: --->
- [x] 🌻 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. -->
* #2106
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [x] 💚 E2E
e2e tests are large, slow, and lack configuration control
that prevents data restoration explosions. This moves
those tests out of the standard CI and into the nightly
test suite to be run on a less frequent cadence. The
goal is to improve CI test speed and test stability.
---
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🤖 Supportability/Tests
#### Test Plan
- [x] 💚 E2E
adds the khttp redirectMiddleware to the http wrapper used for large item downloads, to ensure that proxy servers and other 3xx class responses appropriately follow their redirection.
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
#### Type of change
- [x] 🐛 Bugfix
#### Issue(s)
* #3344
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
Special case Primary CI user LynneR for OneDrive CI cleanup
<!-- 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
- [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
When calling drive enumeration, secretly return only the user's default drive if running in onedrive, to prevent us from loading multiple drives unintentionally.
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
#### Type of change
- [x] 🐛 Bugfix
#### Issue(s)
* #3335
#### Test Plan
- [x] 💪 Manual
- [x] ⚡ Unit test
- [x] 💚 E2E
Return type should really be switched to []data.BackupCollection but that's a non-trivial change to make since tests rely on being able to lookup things by folder ID.
---
#### 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
removes the microsoft item ID from the exchange pathValues set when using only-name selector configuration. This is the standard config for the cli, thus this removes the ability to filter exchange items from the cli by using their m365 id.
---
#### Does this PR need a docs update or release note?
- [x] ✅ Yes, it's included
#### Type of change
- [x] 🧹 Tech Debt/Cleanup
#### Issue(s)
* #3313
#### Test Plan
- [x] 💪 Manual
- [x] ⚡ Unit test
Handle 409, `ErrorFolderExists` error in restore path while creating destination calendar. We need to fix this for all m365 services. This PR is focused on calendar only.
Context:
`CreateCalendar()` may fail with ErrorFolderExists under certain error conditions. For e.g. consider below scenario.
1. `CreateCalendar()` does a POST to graph to create restore destination calendar but this fails with 5xx.
2. It's possible that step 1 may have left some dirty state in graph. For e.g. it's possible that the destination folder in step 1 was actually created, but 5xx was returned due to other reasons.
3. So when we reattempt POST in such a scenario, we sometimes observe ErrorFolderExists error .
4. Corso should be resilient to such errors. To fix this, when we encounter such an error, we will do a GET to fetch the restore destination folder and add it to folder cache.
---
#### 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.-->
Integration tests and mock tests will be added in a follow up PR.
- [x] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
Don't dump the response body if there was no error as
the requested data could be multiple GB in size in
some cases
#### Does this PR need a docs update or release note?
- [x] ⛔ No
#### Type of change
- [x] 🐛 Bugfix
#### Test Plan
- [x] ⚡ Unit test
- [x] 💚 E2E
It was easier to confuse `email ID` with `email id` and think it is the email address. This commit makes it clear that it is the id of the email message.
---
#### 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
- [x] 🗺️ 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