diff --git a/.github/workflows/build-binaries.yml b/.github/workflows/build-binaries.yml index 1d39adeae2..d69055f052 100644 --- a/.github/workflows/build-binaries.yml +++ b/.github/workflows/build-binaries.yml @@ -118,7 +118,7 @@ jobs: # We want a mac arm64 build, and according to this https://github.com/actions/runner-images#available-images macos-14 is always arm64 # macos-14 is disabled for now as we hit our free tier limit for macos builds build_macos_x64: - runs-on: macos-12 + runs-on: macos-13 env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} MAC_CERTIFICATE: ${{ secrets.MAC_CERTIFICATE }} diff --git a/package.json b/package.json index 0639684950..6ddbd3d53a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "session-desktop", "productName": "Session", "description": "Private messaging from your desktop", - "version": "1.14.1", + "version": "1.14.3", "license": "GPL-3.0", "author": { "name": "Oxen Labs", @@ -10,7 +10,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/oxen-io/session-desktop.git" + "url": "https://github.com/session-foundation/session-desktop.git" }, "main": "ts/mains/main_node.js", "resolutions": { diff --git a/ts/interactions/conversationInteractions.ts b/ts/interactions/conversationInteractions.ts index 5f02652920..ab483c60da 100644 --- a/ts/interactions/conversationInteractions.ts +++ b/ts/interactions/conversationInteractions.ts @@ -91,7 +91,7 @@ export async function unblockConvoById(conversationId: string) { export const approveConvoAndSendResponse = async (conversationId: string) => { const convoToApprove = getConversationController().get(conversationId); - if (!convoToApprove) { + if (!convoToApprove || convoToApprove.isApproved()) { window?.log?.info('Conversation is already approved.'); return; } diff --git a/ts/session/utils/calling/CallManager.ts b/ts/session/utils/calling/CallManager.ts index 862b40919c..62fa76d2b2 100644 --- a/ts/session/utils/calling/CallManager.ts +++ b/ts/session/utils/calling/CallManager.ts @@ -35,6 +35,7 @@ import { MessageSender } from '../../sending'; import { getIsRinging } from '../RingingManager'; import { getBlackSilenceMediaStream } from './Silence'; import { ed25519Str } from '../String'; +import { sleepFor } from '../Promise'; export type InputItem = { deviceId: string; label: string }; @@ -534,6 +535,10 @@ export async function USER_callRecipient(recipient: string) { calledConvo.set('active_at', Date.now()); // addSingleOutgoingMessage does the commit for us on the convo await calledConvo.unhideIfNeeded(false); weAreCallerOnCurrentCall = true; + // Not ideal, but also temporary (see you in 2 years). + // We need to make sure the preoffer AND the messageRequestResponse sent in + // approveConvoAndSendResponse have different timestamps, as iOS will throw an error otherwise + await sleepFor(2); // initiating a call is analogous to sending a message request await approveConvoAndSendResponse(recipient);