Apply Version Updates From Current Changes#26
Conversation
WalkthroughThis is a patch release consolidation across multiple Tauri crates (versions 2.5.1, 2.7.1, 2.9.1) that removes unreleased changelog fragments, bumps versions in manifests, adds consolidated changelog entries, updates dependency declarations, and manually implements Display and Error traits in tauri-macos-sign instead of deriving from thiserror. Changes
Sequence Diagram(s)No diagrams generated: changes are primarily version bumps, configuration updates, and documentation additions without meaningful control flow or multi-component interactions to visualize. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Fix all issues with AI agents
In `@crates/tauri-build/CHANGELOG.md`:
- Line 7: Update the changelog entry for [`4b6b8690a`] to hyphenate
"user-facing": locate the line that currently reads "No user facing changes." in
the entry for commit `4b6b8690a` and change it to "No user-facing changes."
preserving all other text and formatting.
In `@crates/tauri-macos-sign/CHANGELOG.md`:
- Around line 3-7: The changelog line contains a bare URL
("https://github.com/tauri-apps/tauri/pull/14126") — replace it with a Markdown
link (for example "[`#14126`](https://github.com/tauri-apps/tauri/pull/14126)" or
a descriptive link text) in the entry under "## [2.3.0]" so the sentence
referencing the changes becomes proper Markdown and avoids the inline bare URL;
update the line containing "The changes happened in
https://github.com/tauri-apps/tauri/pull/14126." accordingly.
In `@crates/tauri-macos-sign/src/lib.rs`:
- Line 233: The condition treating submit_output.status uses map_or(wait, |s| s
== "Accepted") which returns false when status is None and wait is false,
causing non-wait notarization to fail; change the logic so None is treated as
success when wait is false by using map_or(!wait, |s| s == "Accepted") (update
the conditional that references submit_output.status and wait, e.g., inside
notarize_without_stapling) so non-wait flows proceed when status is empty.
- Around line 20-88: The source() implementation currently returns underlying
errors only for some variants, losing chaining for Plist, X509Certificate,
FailedToCreateSelfSignedCertificate, and FailedToEncodeDER; update the match in
impl std::error::Error for Error to return Some(...) for those variants as well
(e.g., for Plist { error } -> Some(error), for X509Certificate { error } ->
Some(error), for FailedToCreateSelfSignedCertificate { error } -> Some(&**error)
or equivalent, and for FailedToEncodeDER { error } -> Some(error)); keep
existing arms for TempDir, FailedToUploadApp, CommandFailed, Fs and fall through
to None for variants without inner errors.
In `@crates/tauri-plugin/CHANGELOG.md`:
- Line 7: Update the changelog entry referencing commit 4b6b8690a (PR `#14347`) by
hyphenating "user-facing" in the sentence "No user facing changes." so it reads
"No user-facing changes."; locate the string in the CHANGELOG.md entry and apply
the single-word hyphenation change.
In `@crates/tauri-runtime-wry/CHANGELOG.md`:
- Line 7: The contributor link in the changelog entry for commit 4b6b8690a / PR
`#14347` uses a malformed relative URL
(`https://www.github.com/tauri-apps/tauri/../../FabianLars`) — update the URL to
the canonical profile `https://github.com/FabianLars` for the `@FabianLars`
contributor mention in the changelog line and search other entries for the same
relative-path pattern to replace them with correct
`https://github.com/<username>` links, and if this is generated, adjust the
changelog generation template that constructs contributor links to use the
absolute GitHub profile URL instead of the relative path.
In `@crates/tauri/CHANGELOG.md`:
- Line 7: Update the changelog entry string that currently reads "No user facing
changes." to use a hyphenated adjective "No user‑facing changes." — locate the
line containing the commit reference text (the line starting with
"[`4b6b8690a`]") and replace the phrase "user facing" with "user‑facing" to
ensure consistent changelog wording.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (24)
.changes/docsrs.md.changes/macos-codesign-error-enum.mdcrates/tauri-build/CHANGELOG.mdcrates/tauri-build/Cargo.tomlcrates/tauri-bundler/CHANGELOG.mdcrates/tauri-bundler/Cargo.tomlcrates/tauri-cli/CHANGELOG.mdcrates/tauri-cli/Cargo.tomlcrates/tauri-cli/config.schema.jsoncrates/tauri-cli/metadata-v2.jsoncrates/tauri-macos-sign/CHANGELOG.mdcrates/tauri-macos-sign/Cargo.tomlcrates/tauri-macos-sign/src/lib.rscrates/tauri-plugin/CHANGELOG.mdcrates/tauri-plugin/Cargo.tomlcrates/tauri-runtime-wry/CHANGELOG.mdcrates/tauri-runtime-wry/Cargo.tomlcrates/tauri-runtime/CHANGELOG.mdcrates/tauri-runtime/Cargo.tomlcrates/tauri-schema-generator/schemas/config.schema.jsoncrates/tauri/CHANGELOG.mdcrates/tauri/Cargo.tomlpackages/cli/CHANGELOG.mdpackages/cli/package.json
💤 Files with no reviewable changes (2)
- .changes/docsrs.md
- .changes/macos-codesign-error-enum.md
🧰 Additional context used
🧬 Code graph analysis (1)
crates/tauri-macos-sign/src/lib.rs (3)
crates/tauri-bundler/src/error.rs (3)
context(199-201)context(209-214)context(226-231)crates/tauri-cli/src/error.rs (3)
context(36-38)context(46-51)context(63-68)crates/tauri-cli/src/bundle.rs (1)
command(120-165)
🪛 LanguageTool
crates/tauri-build/CHANGELOG.md
[style] ~7-~7: Consider using a different verb for a more formal wording.
Context: ...com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to ...
(FIX_RESOLVE)
[grammar] ~7-~7: Use a hyphen to join words.
Context: ...t caused docs.rs builds to fail. No user facing changes. ## [2.5.0] ### New Fe...
(QB_NEW_EN_HYPHEN)
crates/tauri-plugin/CHANGELOG.md
[style] ~7-~7: Consider using a different verb for a more formal wording.
Context: ...com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to ...
(FIX_RESOLVE)
[grammar] ~7-~7: Use a hyphen to join words.
Context: ...t caused docs.rs builds to fail. No user facing changes. ## [2.5.0] ### Depend...
(QB_NEW_EN_HYPHEN)
🪛 markdownlint-cli2 (0.18.1)
crates/tauri-macos-sign/CHANGELOG.md
7-7: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (18)
crates/tauri-plugin/Cargo.toml (1)
3-3: LGTM!Patch version bump to 2.5.1 is consistent with the changelog entry for the docs.rs build fix.
crates/tauri-cli/config.schema.json (1)
3-3: LGTM!Schema
$idversion updated to 2.9.1, consistent with the CLI version bump.crates/tauri-macos-sign/Cargo.toml (1)
3-3: LGTM!Minor version bump to 2.3.0 is appropriate given the API change (custom Error enum export) noted in the changelog.
crates/tauri-bundler/Cargo.toml (1)
3-3: LGTM!Version bump to 2.7.1 and
tauri-macos-signdependency update to 2.3.0 are consistent with the related crate changes in this PR.Also applies to: 62-62
crates/tauri-runtime/CHANGELOG.md (1)
3-7: LGTM!Changelog entry for 2.9.1 follows the established format and accurately documents the docs.rs build fix with no user-facing changes.
packages/cli/package.json (1)
3-3: LGTM!Package version updated to 2.9.1, consistent with the Rust CLI crate version bump.
crates/tauri-bundler/CHANGELOG.md (1)
3-7: Changelog entry looks consistent.
Version header and dependency note match existing formatting.packages/cli/CHANGELOG.md (1)
3-7: Changelog entry looks consistent.
Version header and dependency note match existing formatting.crates/tauri-schema-generator/schemas/config.schema.json (1)
3-3: Schema version bump looks good.No functional changes here; the updated
$idaligns with the 2.9.1 release.crates/tauri-build/Cargo.toml (1)
3-3: Version bump looks good.Consistent with the release wave; no other changes needed.
crates/tauri-runtime/Cargo.toml (1)
3-3: Version bump looks good.No issues with this manifest update.
crates/tauri-runtime-wry/Cargo.toml (1)
3-3: Version alignment looks good.Package and dependency bumps are consistent with the runtime 2.9.1 release.
Also applies to: 23-23
crates/tauri-cli/metadata-v2.json (1)
3-3: Metadata version bumps look good.These entries align with the workspace release versions.
Also applies to: 6-8
crates/tauri-runtime-wry/CHANGELOG.md (1)
3-11: LGTM!The changelog entry for version 2.9.1 is properly structured with Bug Fixes and Dependencies sections, and the content aligns with the coordinated version bump described in the PR objectives.
crates/tauri-cli/Cargo.toml (1)
3-3: LGTM!The version bumps for
tauri-cli(2.9.1),tauri-bundler(2.7.1), andtauri-macos-sign(2.3.0) are consistent with the coordinated patch release. Path dependencies are correctly maintained for workspace crates.Also applies to: 50-50, 135-135
crates/tauri-cli/CHANGELOG.md (1)
3-8: Changelog entry looks consistent and clear.
The new 2.9.1 section follows existing formatting and documents the dependency bumps succinctly.crates/tauri/Cargo.toml (1)
3-3: Version bumps look aligned for the release.
The package and internal dependency versions are updated consistently for 2.9.1 / 2.5.1.Also applies to: 57-57, 62-62, 164-164
crates/tauri-macos-sign/src/lib.rs (1)
176-178: LGTM. The updated argument construction reads fine and is consistent with the surrounding usage.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
|
|
||
| ### Bug Fixes | ||
|
|
||
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. |
There was a problem hiding this comment.
Hyphenate “user-facing”.
Minor grammar fix in the changelog entry.
✍️ Suggested edit
- Fixed an issue that caused docs.rs builds to fail. No user facing changes.
+ Fixed an issue that caused docs.rs builds to fail. No user-facing changes.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. | |
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([`#14347`](https://www.github.com/tauri-apps/tauri/pull/14347) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user-facing changes. |
🧰 Tools
🪛 LanguageTool
[style] ~7-~7: Consider using a different verb for a more formal wording.
Context: ...com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to ...
(FIX_RESOLVE)
[grammar] ~7-~7: Use a hyphen to join words.
Context: ...t caused docs.rs builds to fail. No user facing changes. ## [2.5.0] ### New Fe...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
In `@crates/tauri-build/CHANGELOG.md` at line 7, Update the changelog entry for
[`4b6b8690a`] to hyphenate "user-facing": locate the line that currently reads
"No user facing changes." in the entry for commit `4b6b8690a` and change it to
"No user-facing changes." preserving all other text and formatting.
| ## \[2.3.0] | ||
|
|
||
| ### Enhancements | ||
|
|
||
| - [`f59bf9d53`](https://www.github.com/tauri-apps/tauri/commit/f59bf9d5392ffd209e26ce5259c26d1acc31c4ba) ([#14337](https://www.github.com/tauri-apps/tauri/pull/14337) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Potentially breaking change:** Export custom Error enum instead of using anyhow. The changes happened in https://github.com/tauri-apps/tauri/pull/14126. |
There was a problem hiding this comment.
Avoid bare URL in changelog entry.
Markdownlint flags the inline URL. Convert it to a Markdown link.
📝 Suggested fix
-- [`f59bf9d53`](https://www.github.com/tauri-apps/tauri/commit/f59bf9d5392ffd209e26ce5259c26d1acc31c4ba) ([`#14337`](https://www.github.com/tauri-apps/tauri/pull/14337) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Potentially breaking change:** Export custom Error enum instead of using anyhow. The changes happened in https://github.com/tauri-apps/tauri/pull/14126.
+- [`f59bf9d53`](https://www.github.com/tauri-apps/tauri/commit/f59bf9d5392ffd209e26ce5259c26d1acc31c4ba) ([`#14337`](https://www.github.com/tauri-apps/tauri/pull/14337) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Potentially breaking change:** Export custom Error enum instead of using anyhow. The changes happened in [tauri-apps/tauri#14126](https://github.com/tauri-apps/tauri/pull/14126).🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
7-7: Bare URL used
(MD034, no-bare-urls)
🤖 Prompt for AI Agents
In `@crates/tauri-macos-sign/CHANGELOG.md` around lines 3 - 7, The changelog line
contains a bare URL ("https://github.com/tauri-apps/tauri/pull/14126") — replace
it with a Markdown link (for example
"[`#14126`](https://github.com/tauri-apps/tauri/pull/14126)" or a descriptive link
text) in the entry under "## [2.3.0]" so the sentence referencing the changes
becomes proper Markdown and avoids the inline bare URL; update the line
containing "The changes happened in
https://github.com/tauri-apps/tauri/pull/14126." accordingly.
| #[derive(Debug)] | ||
| pub enum Error { | ||
| #[error("failed to create temp directory: {0}")] | ||
| TempDir(std::io::Error), | ||
| #[error("failed to resolve home dir")] | ||
| ResolveHomeDir, | ||
| #[error("failed to resolve signing identity")] | ||
| ResolveSigningIdentity, | ||
| #[error("failed to decode provisioning profile")] | ||
| FailedToDecodeProvisioningProfile, | ||
| #[error("could not find provisioning profile UUID")] | ||
| FailedToFindProvisioningProfileUuid, | ||
| #[error("{context} {path}: {error}")] | ||
| Plist { | ||
| context: &'static str, | ||
| path: PathBuf, | ||
| error: plist::Error, | ||
| }, | ||
| #[error("failed to upload app to Apple's notarization servers: {error}")] | ||
| FailedToUploadApp { error: std::io::Error }, | ||
| #[error("failed to notarize app: {0}")] | ||
| Notarize(String), | ||
| #[error("failed to parse notarytool output as JSON: {output}")] | ||
| ParseNotarytoolOutput { output: String }, | ||
| #[error("failed to run command {command}: {error}")] | ||
| CommandFailed { | ||
| command: String, | ||
| error: std::io::Error, | ||
| }, | ||
| #[error("{context} {path}: {error}")] | ||
| Fs { | ||
| context: &'static str, | ||
| path: PathBuf, | ||
| error: std::io::Error, | ||
| }, | ||
| #[error("failed to parse X509 certificate: {error}")] | ||
| X509Certificate { | ||
| error: x509_certificate::X509CertificateError, | ||
| }, | ||
| #[error("failed to create PFX from self signed certificate")] | ||
| FailedToCreatePFX, | ||
| #[error("failed to create self signed certificate: {error}")] | ||
| FailedToCreateSelfSignedCertificate { | ||
| error: Box<apple_codesign::AppleCodesignError>, | ||
| }, | ||
| #[error("failed to encode DER: {error}")] | ||
| FailedToEncodeDER { error: std::io::Error }, | ||
| #[error("certificate missing common name")] | ||
| CertificateMissingCommonName, | ||
| #[error("certificate missing organization unit for common name {common_name}")] | ||
| CertificateMissingOrganizationUnit { common_name: String }, | ||
| } | ||
|
|
||
| impl std::fmt::Display for Error { | ||
| fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | ||
| match self { | ||
| Error::TempDir(e) => write!(f, "failed to create temp directory: {}", e), | ||
| Error::ResolveHomeDir => write!(f, "failed to resolve home dir"), | ||
| Error::ResolveSigningIdentity => write!(f, "failed to resolve signing identity"), | ||
| Error::FailedToDecodeProvisioningProfile => write!(f, "failed to decode provisioning profile"), | ||
| Error::FailedToFindProvisioningProfileUuid => write!(f, "could not find provisioning profile UUID"), | ||
| Error::Plist { context, path, error } => write!(f, "{} {}: {}", context, path.display(), error), | ||
| Error::FailedToUploadApp { error } => write!(f, "failed to upload app to Apple's notarization servers: {}", error), | ||
| Error::Notarize(msg) => write!(f, "failed to notarize app: {}", msg), | ||
| Error::ParseNotarytoolOutput { output } => write!(f, "failed to parse notarytool output as JSON: {}", output), | ||
| Error::CommandFailed { command, error } => write!(f, "failed to run command {}: {}", command, error), | ||
| Error::Fs { context, path, error } => write!(f, "{} {}: {}", context, path.display(), error), | ||
| Error::X509Certificate { error } => write!(f, "failed to parse X509 certificate: {}", error), | ||
| Error::FailedToCreatePFX => write!(f, "failed to create PFX from self signed certificate"), | ||
| Error::FailedToCreateSelfSignedCertificate { error } => write!(f, "failed to create self signed certificate: {}", error), | ||
| Error::FailedToEncodeDER { error } => write!(f, "failed to encode DER: {}", error), | ||
| Error::CertificateMissingCommonName => write!(f, "certificate missing common name"), | ||
| Error::CertificateMissingOrganizationUnit { common_name } => write!(f, "certificate missing organization unit for common name {}", common_name), | ||
| } | ||
| } | ||
| } | ||
|
|
||
| impl std::error::Error for Error { | ||
| fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { | ||
| match self { | ||
| Error::TempDir(e) => Some(e), | ||
| Error::FailedToUploadApp { error } => Some(error), | ||
| Error::CommandFailed { error, .. } => Some(error), | ||
| Error::Fs { error, .. } => Some(error), | ||
| _ => None, | ||
| } |
There was a problem hiding this comment.
Preserve error chaining for all wrapped errors.
source() only exposes some variants, so callers lose the underlying error for Plist, X509Certificate, FailedToCreateSelfSignedCertificate, and FailedToEncodeDER. That’s a regression from the derived behavior and weakens diagnostics.
🔧 Suggested fix
impl std::error::Error for Error {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
match self {
Error::TempDir(e) => Some(e),
+ Error::Plist { error, .. } => Some(error),
Error::FailedToUploadApp { error } => Some(error),
Error::CommandFailed { error, .. } => Some(error),
Error::Fs { error, .. } => Some(error),
+ Error::X509Certificate { error } => Some(error),
+ Error::FailedToCreateSelfSignedCertificate { error } => Some(error),
+ Error::FailedToEncodeDER { error } => Some(error),
_ => None,
}
}
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| #[derive(Debug)] | |
| pub enum Error { | |
| #[error("failed to create temp directory: {0}")] | |
| TempDir(std::io::Error), | |
| #[error("failed to resolve home dir")] | |
| ResolveHomeDir, | |
| #[error("failed to resolve signing identity")] | |
| ResolveSigningIdentity, | |
| #[error("failed to decode provisioning profile")] | |
| FailedToDecodeProvisioningProfile, | |
| #[error("could not find provisioning profile UUID")] | |
| FailedToFindProvisioningProfileUuid, | |
| #[error("{context} {path}: {error}")] | |
| Plist { | |
| context: &'static str, | |
| path: PathBuf, | |
| error: plist::Error, | |
| }, | |
| #[error("failed to upload app to Apple's notarization servers: {error}")] | |
| FailedToUploadApp { error: std::io::Error }, | |
| #[error("failed to notarize app: {0}")] | |
| Notarize(String), | |
| #[error("failed to parse notarytool output as JSON: {output}")] | |
| ParseNotarytoolOutput { output: String }, | |
| #[error("failed to run command {command}: {error}")] | |
| CommandFailed { | |
| command: String, | |
| error: std::io::Error, | |
| }, | |
| #[error("{context} {path}: {error}")] | |
| Fs { | |
| context: &'static str, | |
| path: PathBuf, | |
| error: std::io::Error, | |
| }, | |
| #[error("failed to parse X509 certificate: {error}")] | |
| X509Certificate { | |
| error: x509_certificate::X509CertificateError, | |
| }, | |
| #[error("failed to create PFX from self signed certificate")] | |
| FailedToCreatePFX, | |
| #[error("failed to create self signed certificate: {error}")] | |
| FailedToCreateSelfSignedCertificate { | |
| error: Box<apple_codesign::AppleCodesignError>, | |
| }, | |
| #[error("failed to encode DER: {error}")] | |
| FailedToEncodeDER { error: std::io::Error }, | |
| #[error("certificate missing common name")] | |
| CertificateMissingCommonName, | |
| #[error("certificate missing organization unit for common name {common_name}")] | |
| CertificateMissingOrganizationUnit { common_name: String }, | |
| } | |
| impl std::fmt::Display for Error { | |
| fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | |
| match self { | |
| Error::TempDir(e) => write!(f, "failed to create temp directory: {}", e), | |
| Error::ResolveHomeDir => write!(f, "failed to resolve home dir"), | |
| Error::ResolveSigningIdentity => write!(f, "failed to resolve signing identity"), | |
| Error::FailedToDecodeProvisioningProfile => write!(f, "failed to decode provisioning profile"), | |
| Error::FailedToFindProvisioningProfileUuid => write!(f, "could not find provisioning profile UUID"), | |
| Error::Plist { context, path, error } => write!(f, "{} {}: {}", context, path.display(), error), | |
| Error::FailedToUploadApp { error } => write!(f, "failed to upload app to Apple's notarization servers: {}", error), | |
| Error::Notarize(msg) => write!(f, "failed to notarize app: {}", msg), | |
| Error::ParseNotarytoolOutput { output } => write!(f, "failed to parse notarytool output as JSON: {}", output), | |
| Error::CommandFailed { command, error } => write!(f, "failed to run command {}: {}", command, error), | |
| Error::Fs { context, path, error } => write!(f, "{} {}: {}", context, path.display(), error), | |
| Error::X509Certificate { error } => write!(f, "failed to parse X509 certificate: {}", error), | |
| Error::FailedToCreatePFX => write!(f, "failed to create PFX from self signed certificate"), | |
| Error::FailedToCreateSelfSignedCertificate { error } => write!(f, "failed to create self signed certificate: {}", error), | |
| Error::FailedToEncodeDER { error } => write!(f, "failed to encode DER: {}", error), | |
| Error::CertificateMissingCommonName => write!(f, "certificate missing common name"), | |
| Error::CertificateMissingOrganizationUnit { common_name } => write!(f, "certificate missing organization unit for common name {}", common_name), | |
| } | |
| } | |
| } | |
| impl std::error::Error for Error { | |
| fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { | |
| match self { | |
| Error::TempDir(e) => Some(e), | |
| Error::FailedToUploadApp { error } => Some(error), | |
| Error::CommandFailed { error, .. } => Some(error), | |
| Error::Fs { error, .. } => Some(error), | |
| _ => None, | |
| } | |
| impl std::error::Error for Error { | |
| fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { | |
| match self { | |
| Error::TempDir(e) => Some(e), | |
| Error::Plist { error, .. } => Some(error), | |
| Error::FailedToUploadApp { error } => Some(error), | |
| Error::CommandFailed { error, .. } => Some(error), | |
| Error::Fs { error, .. } => Some(error), | |
| Error::X509Certificate { error } => Some(error), | |
| Error::FailedToCreateSelfSignedCertificate { error } => Some(error), | |
| Error::FailedToEncodeDER { error } => Some(error), | |
| _ => None, | |
| } | |
| } | |
| } |
🤖 Prompt for AI Agents
In `@crates/tauri-macos-sign/src/lib.rs` around lines 20 - 88, The source()
implementation currently returns underlying errors only for some variants,
losing chaining for Plist, X509Certificate, FailedToCreateSelfSignedCertificate,
and FailedToEncodeDER; update the match in impl std::error::Error for Error to
return Some(...) for those variants as well (e.g., for Plist { error } ->
Some(error), for X509Certificate { error } -> Some(error), for
FailedToCreateSelfSignedCertificate { error } -> Some(&**error) or equivalent,
and for FailedToEncodeDER { error } -> Some(error)); keep existing arms for
TempDir, FailedToUploadApp, CommandFailed, Fs and fall through to None for
variants without inner errors.
| ); | ||
| // status is empty when not waiting for the notarization to finish | ||
| if submit_output.status.map_or(!wait, |s| s == "Accepted") { | ||
| if submit_output.status.map_or(wait, |s| s == "Accepted") { |
There was a problem hiding this comment.
Non-wait notarization now fails when status is empty.
For wait = false, status is expected to be None (per comment), but map_or(wait, ...) returns false and routes into the error path. This likely breaks notarize_without_stapling.
✅ Suggested fix
- if submit_output.status.map_or(wait, |s| s == "Accepted") {
+ if !wait || submit_output.status.as_deref() == Some("Accepted") {📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| if submit_output.status.map_or(wait, |s| s == "Accepted") { | |
| if !wait || submit_output.status.as_deref() == Some("Accepted") { |
🤖 Prompt for AI Agents
In `@crates/tauri-macos-sign/src/lib.rs` at line 233, The condition treating
submit_output.status uses map_or(wait, |s| s == "Accepted") which returns false
when status is None and wait is false, causing non-wait notarization to fail;
change the logic so None is treated as success when wait is false by using
map_or(!wait, |s| s == "Accepted") (update the conditional that references
submit_output.status and wait, e.g., inside notarize_without_stapling) so
non-wait flows proceed when status is empty.
|
|
||
| ### Bug Fixes | ||
|
|
||
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. |
There was a problem hiding this comment.
Hyphenate “user-facing”.
Minor grammar fix in the changelog entry.
✍️ Suggested edit
- Fixed an issue that caused docs.rs builds to fail. No user facing changes.
+ Fixed an issue that caused docs.rs builds to fail. No user-facing changes.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. | |
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([`#14347`](https://www.github.com/tauri-apps/tauri/pull/14347) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user-facing changes. |
🧰 Tools
🪛 LanguageTool
[style] ~7-~7: Consider using a different verb for a more formal wording.
Context: ...com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to ...
(FIX_RESOLVE)
[grammar] ~7-~7: Use a hyphen to join words.
Context: ...t caused docs.rs builds to fail. No user facing changes. ## [2.5.0] ### Depend...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
In `@crates/tauri-plugin/CHANGELOG.md` at line 7, Update the changelog entry
referencing commit 4b6b8690a (PR `#14347`) by hyphenating "user-facing" in the
sentence "No user facing changes." so it reads "No user-facing changes."; locate
the string in the CHANGELOG.md entry and apply the single-word hyphenation
change.
|
|
||
| ### Bug Fixes | ||
|
|
||
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. |
There was a problem hiding this comment.
Malformed contributor link URL.
The URL https://www.github.com/tauri-apps/tauri/../../FabianLars uses relative path navigation which will not resolve to the correct GitHub profile. This should be https://github.com/FabianLars instead.
This pattern appears throughout the changelog, suggesting it may be an issue with the changelog generation tooling.
🤖 Prompt for AI Agents
In `@crates/tauri-runtime-wry/CHANGELOG.md` at line 7, The contributor link in the
changelog entry for commit 4b6b8690a / PR `#14347` uses a malformed relative URL
(`https://www.github.com/tauri-apps/tauri/../../FabianLars`) — update the URL to
the canonical profile `https://github.com/FabianLars` for the `@FabianLars`
contributor mention in the changelog line and search other entries for the same
relative-path pattern to replace them with correct
`https://github.com/<username>` links, and if this is generated, adjust the
changelog generation template that constructs contributor links to use the
absolute GitHub profile URL instead of the relative path.
|
|
||
| ### Bug Fixes | ||
|
|
||
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. |
There was a problem hiding this comment.
Minor wording: use “user‑facing”
Hyphenate for consistency in changelog prose.
✏️ Suggested tweak
-... No user facing changes.
+... No user‑facing changes.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes. | |
| - [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([`#14347`](https://www.github.com/tauri-apps/tauri/pull/14347) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user‑facing changes. |
🤖 Prompt for AI Agents
In `@crates/tauri/CHANGELOG.md` at line 7, Update the changelog entry string that
currently reads "No user facing changes." to use a hyphenated adjective "No
user‑facing changes." — locate the line containing the commit reference text
(the line starting with "[`4b6b8690a`]") and replace the phrase "user facing"
with "user‑facing" to ensure consistent changelog wording.
Benchmark PR from qodo-benchmark#156
Summary by CodeRabbit
Bug Fixes
Breaking Changes
Updates
✏️ Tip: You can customize this high-level summary in your review settings.