diff --git a/CHANGELOG.md b/CHANGELOG.md index 98ca41a8..0e281e11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [0.6.0-beta] - 2024-09-04 + +### Added +- New confirmation flow when creating a contact. Immediately add a 1:1 conversation with the new contact and go straight there, with a notice that they need to "confirm" the connection, and a button to send them the invite link. +- Ability to click on links in messages to open them in external browser +- Add basic search to conversation list, only matches conversation titles right now +- Translations for German, Spanish, French, Italian, Bulgarian, Norwegian, Romanian, Danish, Swedish, Slovak +- Many more small UI improvements and fixes + +### Fixed +- Copying and pasting invite codes in Tauri android +- Make sure mobile keyboard never covers content +- Allow for scrolling long member list for conversation +- Correctly sanitize html in message content, allowing for safe tags + ## [0.5.3-beta] - 2024-08-23 ### Added diff --git a/package-lock.json b/package-lock.json index 9ec5e879..506d9bfc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "relay", - "version": "0.5.3-beta", + "version": "0.6.0-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "relay", - "version": "0.5.3-beta", + "version": "0.6.0-beta", "workspaces": [ "ui" ], @@ -8655,7 +8655,7 @@ } }, "ui": { - "version": "0.5.3-beta", + "version": "0.6.0-beta", "dependencies": { "@lightningrodlabs/we-applet": "^0.17.0-dev.2", "@tauri-apps/api": "2.0.0-rc.4", diff --git a/package.json b/package.json index 617aa857..78935290 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "relay", - "version": "0.5.3-beta", + "version": "0.6.0-beta", "private": true, "workspaces": [ "ui" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 86f45ae7..c34defb9 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "productName": "relay", - "version": "0.5.3-beta", + "version": "0.6.0-beta", "identifier": "org.holochain.relay", "build": { "beforeBuildCommand": "npm run build -w ui", diff --git a/ui/package.json b/ui/package.json index d0c367f0..df5ded7a 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "ui", - "version": "0.5.3-beta", + "version": "0.6.0-beta", "private": true, "scripts": { "start": "vite --clearScreen false", diff --git a/ui/src/routes/account/+page.svelte b/ui/src/routes/account/+page.svelte index bdc97ef3..d5bf70f7 100644 --- a/ui/src/routes/account/+page.svelte +++ b/ui/src/routes/account/+page.svelte @@ -47,7 +47,7 @@
- +
{#if $prof && $prof.status === 'complete' && $prof.value} diff --git a/ui/src/routes/contacts/[id]/+page.svelte b/ui/src/routes/contacts/[id]/+page.svelte index 02e83707..4dce2979 100644 --- a/ui/src/routes/contacts/[id]/+page.svelte +++ b/ui/src/routes/contacts/[id]/+page.svelte @@ -11,7 +11,7 @@
-
diff --git a/ui/src/routes/contacts/new/+page.svelte b/ui/src/routes/contacts/new/+page.svelte index b6430e7c..be68f28a 100644 --- a/ui/src/routes/contacts/new/+page.svelte +++ b/ui/src/routes/contacts/new/+page.svelte @@ -8,7 +8,7 @@
-

{$t('contacts.create_new_contact')}

diff --git a/ui/src/routes/conversations/[id]/+page.svelte b/ui/src/routes/conversations/[id]/+page.svelte index 866432fd..95010c60 100644 --- a/ui/src/routes/conversations/[id]/+page.svelte +++ b/ui/src/routes/conversations/[id]/+page.svelte @@ -105,14 +105,11 @@ } }); - onDestroy(()=>{ + // Cleanup + onDestroy(() => { if (conversation) { conversation.setStatus('closed') } - }) - - // Cleanup the subscription - onDestroy(() => { unsubscribe && unsubscribe(); clearTimeout(agentTimeout); clearTimeout(configTimeout); @@ -239,10 +236,10 @@
- + {#if conversation}

- + {conversation.title}

{#if conversation.data.privacy === Privacy.Public || encodeHashToBase64(conversation.data.progenitor) === myPubKeyB64} - + {/if} @@ -262,6 +259,10 @@
{#if conversation.privacy === Privacy.Private}
+ {#if encodeHashToBase64(conversation.data.progenitor) !== myPubKeyB64 && numMembers === 1} + + + {/if} {#each conversation.allMembers.slice(0, 2) as contact, i} {#if contact} @@ -281,7 +282,7 @@ {$tAny('conversations.num_members', { count: numMembers })} - {#if $processedMessages.length === 0 && encodeHashToBase64(conversation.data.progenitor) === myPubKeyB64 && conversation.memberList().length === 0} + {#if $processedMessages.length === 0 && encodeHashToBase64(conversation.data.progenitor) === myPubKeyB64 && numMembers === 1}
No contacts diff --git a/ui/src/routes/conversations/[id]/details/+page.svelte b/ui/src/routes/conversations/[id]/details/+page.svelte index fe6476c8..ae13dcd3 100644 --- a/ui/src/routes/conversations/[id]/details/+page.svelte +++ b/ui/src/routes/conversations/[id]/details/+page.svelte @@ -50,7 +50,7 @@
- + {#if conversation}

{#if conversation.data.privacy === Privacy.Public}{$t('conversations.group_details')}{:else}{conversation.title}{/if}

{#if conversation.data.privacy === Privacy.Private && encodeHashToBase64(conversation.data.progenitor) === relayStore.client.myPubKeyB64} diff --git a/ui/src/routes/conversations/[id]/invite/+page.svelte b/ui/src/routes/conversations/[id]/invite/+page.svelte index 96e345ef..3cef85e9 100644 --- a/ui/src/routes/conversations/[id]/invite/+page.svelte +++ b/ui/src/routes/conversations/[id]/invite/+page.svelte @@ -57,7 +57,7 @@
-

{$tAny('conversations.add_people', { public: conversation && conversation.data.privacy === Privacy.Public })}

diff --git a/ui/src/routes/conversations/join/+page.svelte b/ui/src/routes/conversations/join/+page.svelte index 8845e288..9a7513a9 100644 --- a/ui/src/routes/conversations/join/+page.svelte +++ b/ui/src/routes/conversations/join/+page.svelte @@ -46,7 +46,7 @@
- +

{$t('conversations.join_conversation')}

diff --git a/ui/src/routes/conversations/new/+page.svelte b/ui/src/routes/conversations/new/+page.svelte index c31e25e2..0223371b 100644 --- a/ui/src/routes/conversations/new/+page.svelte +++ b/ui/src/routes/conversations/new/+page.svelte @@ -32,7 +32,7 @@
- +

{$t('common.new_group')}

@@ -65,6 +65,9 @@
\ No newline at end of file diff --git a/ui/src/routes/create/+page.svelte b/ui/src/routes/create/+page.svelte index 6e165df9..59af03d1 100644 --- a/ui/src/routes/create/+page.svelte +++ b/ui/src/routes/create/+page.svelte @@ -72,7 +72,7 @@
- diff --git a/ui/src/store/RelayClient.ts b/ui/src/store/RelayClient.ts index f45a4bfd..808a9d28 100644 --- a/ui/src/store/RelayClient.ts +++ b/ui/src/store/RelayClient.ts @@ -104,7 +104,7 @@ export class RelayClient { async joinConversation(invitation: Invitation) : Promise { // we don't have the image at join time, it get's loaded later - return this._createConversation(invitation.created, invitation.conversationName, "", invitation.privacy, invitation.progenitor, invitation.proof, invitation.networkSeed) + return this._createConversation(invitation.created, invitation.title, "", invitation.privacy, invitation.progenitor, invitation.proof, invitation.networkSeed) } async _createConversation(created: number, title: string, image: string, privacy: Privacy, progenitor: AgentPubKey, membrane_proof: MembraneProof|undefined, networkSeed: string|undefined) : Promise {