diff --git a/Cargo.lock b/Cargo.lock index 9de6aa0..7aa015b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1778,7 +1778,7 @@ dependencies = [ [[package]] name = "ic_message" -version = "2.5.1" +version = "2.5.2" dependencies = [ "candid", "ciborium", @@ -1798,7 +1798,7 @@ dependencies = [ [[package]] name = "ic_message_channel" -version = "2.5.1" +version = "2.5.2" dependencies = [ "candid", "ciborium", @@ -1813,7 +1813,7 @@ dependencies = [ [[package]] name = "ic_message_profile" -version = "2.5.1" +version = "2.5.2" dependencies = [ "candid", "ciborium", @@ -1829,7 +1829,7 @@ dependencies = [ [[package]] name = "ic_message_types" -version = "2.5.1" +version = "2.5.2" dependencies = [ "candid", "ic-oss-types 0.9.3", @@ -1873,7 +1873,7 @@ dependencies = [ [[package]] name = "ic_panda_luckypool" -version = "2.5.1" +version = "2.5.2" dependencies = [ "base64 0.21.7", "candid", @@ -4053,7 +4053,7 @@ dependencies = [ [[package]] name = "x-auth" -version = "2.5.1" +version = "2.5.2" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 75acabb..bc133d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ opt-level = 's' [workspace.package] edition = "2021" -version = "2.5.1" +version = "2.5.2" repository = "https://github.com/ldclabs/ic-panda" keywords = ["canister", "icp", "panda"] categories = ["web-programming"] diff --git a/src/ic_message_frontend/package.json b/src/ic_message_frontend/package.json index 9bbb813..4e4a859 100644 --- a/src/ic_message_frontend/package.json +++ b/src/ic_message_frontend/package.json @@ -81,5 +81,5 @@ "test": "vitest run" }, "type": "module", - "version": "2.5.1" + "version": "2.5.2" } \ No newline at end of file diff --git a/src/ic_message_frontend/src/lib/components/core/AvatarUploadModal.svelte b/src/ic_message_frontend/src/lib/components/core/AvatarUploadModal.svelte index df0ca85..cda9940 100644 --- a/src/ic_message_frontend/src/lib/components/core/AvatarUploadModal.svelte +++ b/src/ic_message_frontend/src/lib/components/core/AvatarUploadModal.svelte @@ -13,7 +13,7 @@ toFixedChunkSizeReadable } from '@ldclabs/ic_oss_ts' import { Avatar, getModalStore, getToastStore } from '@skeletonlabs/skeleton' - import { type SvelteComponent } from 'svelte' + import { onDestroy, type SvelteComponent } from 'svelte' // Props /** Exposes parent props to this component. */ @@ -30,6 +30,7 @@ function handleAvatarUpload(event: CustomEvent) { blob = event.detail.blob || null if (blob) { + croppedUrl && URL.revokeObjectURL(croppedUrl) croppedUrl = URL.createObjectURL(blob) } } @@ -65,6 +66,10 @@ modalStore.close() }, toastStore) } + + onDestroy(() => { + croppedUrl && URL.revokeObjectURL(croppedUrl) + }) diff --git a/src/ic_message_frontend/src/lib/components/messages/LinkEditModal.svelte b/src/ic_message_frontend/src/lib/components/messages/LinkEditModal.svelte index b208a41..7e101bc 100644 --- a/src/ic_message_frontend/src/lib/components/messages/LinkEditModal.svelte +++ b/src/ic_message_frontend/src/lib/components/messages/LinkEditModal.svelte @@ -52,7 +52,7 @@ type="text" name="titleInput" minlength="1" - maxlength="128" + maxlength="120" data-1p-ignore bind:value={titleInput} disabled={submitting} @@ -66,7 +66,7 @@ type="text" name="uriInput" minlength="1" - maxlength="128" + maxlength="120" data-1p-ignore bind:value={uriInput} disabled={submitting} diff --git a/src/ic_message_frontend/src/lib/components/messages/MyProfile.svelte b/src/ic_message_frontend/src/lib/components/messages/MyProfile.svelte index 0884291..dcf02ba 100644 --- a/src/ic_message_frontend/src/lib/components/messages/MyProfile.svelte +++ b/src/ic_message_frontend/src/lib/components/messages/MyProfile.svelte @@ -312,7 +312,7 @@ {@const display = toDisplayUserInfo($myInfo)}
- - - {#key pageKey} - {#if myState} - - {:else} -
- {/if} - {/key} -
-
-
-

- © 2024 - ICPanda DAO -

-

- A decentralized Panda meme brand fully running on the - Internet Computer - blockchain. -

+ + {#key pageKey} + {#if myState} + + {:else} +
+ {/if} + {/key}
-
+ +
diff --git a/src/ic_message_types/src/profile.rs b/src/ic_message_types/src/profile.rs index 09829b0..e8b5bb8 100644 --- a/src/ic_message_types/src/profile.rs +++ b/src/ic_message_types/src/profile.rs @@ -104,8 +104,9 @@ impl UploadImageInput { if self.size > CHUNK_SIZE as u64 { return Err("invalid size".to_string()); } - if self.content_type != "image/webp" && self.content_type != "image/svg+xml" { - return Err("invalid content_type".to_string()); + match self.content_type.as_str() { + "image/webp" | "image/png" | "image/jpeg" | "image/svg+xml" => {} + _ => return Err(format!("invalid content_type {}", self.content_type)), } Ok(()) } @@ -113,6 +114,8 @@ impl UploadImageInput { pub fn filename(&self, name: String) -> String { match self.content_type.as_str() { "image/webp" => format!("{}.webp", name), + "image/png" => format!("{}.png", name), + "image/jpeg" => format!("{}.jpg", name), "image/svg+xml" => format!("{}.svg", name), _ => name, }