Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 32 additions & 15 deletions Scripts/build_libSession_util.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,6 @@ if [ "${ACTION}" = "install" ] || [ "${CONFIGURATION}" = "Release" ]; then
fi
fi

# Robustly removes a directory, first clearing any immutable flags (work around Xcode's indexer file locking)
remove_locked_dir() {
local dir_to_remove="$1"
if [ -d "${dir_to_remove}" ]; then
echo "- Unlocking and removing ${dir_to_remove}"
chflags -R nouchg "${dir_to_remove}" &>/dev/null || true
rm -rf "${dir_to_remove}"
fi
}

sync_headers() {
local source_dir="$1"
echo "- Syncing headers from ${source_dir}"
Expand All @@ -53,9 +43,28 @@ sync_headers() {

for dest in "${destinations[@]}"; do
if [ -n "$dest" ]; then
remove_locked_dir "$dest"
mkdir -p "$dest"
rsync -rtc --delete --exclude='.DS_Store' "${source_dir}/" "$dest/"
local temp_dest="${dest}.tmp-$(uuidgen)"
rm -rf "$temp_dest"
mkdir -p "$temp_dest"

rsync -rtc --delete --exclude='.DS_Store' "${source_dir}/" "$temp_dest/"

# Atomically move the old directory out of the way
local old_dest="${dest}.old-$(uuidgen)"
if [ -d "$dest" ]; then
mv "$dest" "$old_dest"
fi

# Atomically move the new, correct directory into place
mv "$temp_dest" "$dest"

# Clean up the old directory
if [ -d "$old_dest" ]; then
# Clear any immutable flags (work around Xcode's indexer file locking)
chflags -R nouchg "${dir_to_remove}" &>/dev/null || true
rm -rf "$old_dest"
fi

echo " Synced to: $dest"
fi
done
Expand All @@ -75,9 +84,17 @@ fi

if [ "${COMPILE_LIB_SESSION}" != "YES" ]; then
echo "Using pre-packaged SessionUtil"
sync_headers "${PRE_BUILT_FRAMEWORK_DIR}/${FRAMEWORK_DIR}/${TARGET_ARCH_DIR}/Headers/"

# Create the placeholder in the FINAL products directory to satisfy dependency.
if [ "$CI" = "true" ] || [ "$DRONE" = "true" ]; then
# In CI, Xcode's SPM integration is reliable. Skip manual header sync
# to avoid the 'redefinition of module' error.
echo "- CI environment detected, skipping manual header sync to rely on SPM"
else
echo "- Local build detected, syncing headers to assist Xcode indexer"
sync_headers "${PRE_BUILT_FRAMEWORK_DIR}/${FRAMEWORK_DIR}/${TARGET_ARCH_DIR}/Headers/"
fi

# Create the placeholder in the FINAL products directory to satisfy dependency
touch "${BUILT_PRODUCTS_DIR}/libsession-util.a"

echo "- Revert to SPM complete."
Expand Down
204 changes: 2 additions & 202 deletions Session/Meta/Translations/Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -84680,7 +84680,7 @@
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Checking your {pro} details. Some information on this page may be unavailable until this check is complete."
"value" : "Checking your {pro} details. Some actions on this page may be unavailable until this check is complete."
}
}
}
Expand Down Expand Up @@ -228514,46 +228514,6 @@
}
}
},
"cs" : {
"stringUnit" : {
"state" : "translated",
"value" : "%#@arg1@"
},
"substitutions" : {
"arg1" : {
"argNum" : 1,
"formatSpecifier" : "lld",
"variations" : {
"plural" : {
"few" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele a jejich zprávy"
}
},
"many" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele a jejich zprávy"
}
},
"one" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele a jeho zprávy"
}
},
"other" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele a jejich zprávy"
}
}
}
}
}
}
},
"cy" : {
"stringUnit" : {
"state" : "translated",
Expand Down Expand Up @@ -230807,46 +230767,6 @@
}
}
},
"cs" : {
"stringUnit" : {
"state" : "translated",
"value" : "%#@arg1@"
},
"substitutions" : {
"arg1" : {
"argNum" : 1,
"formatSpecifier" : "lld",
"variations" : {
"plural" : {
"few" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele"
}
},
"many" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele"
}
},
"one" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele"
}
},
"other" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odstranit uživatele"
}
}
}
}
}
}
},
"cy" : {
"stringUnit" : {
"state" : "translated",
Expand Down Expand Up @@ -357298,130 +357218,10 @@
"proCallToActionPinnedConversationsMoreThan" : {
"extractionState" : "manual",
"localizations" : {
"az" : {
"stringUnit" : {
"state" : "translated",
"value" : "5-dən çoxunu sancmaq istəyirsiniz? {app_pro} ilə söhbətlərinizi təşkil edin və premium özəlliklərin kilidini açın"
}
},
"ca" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vols més de 5 pins? Organitzes els teus xats i desbloqueges les funcions premium amb {app_pro}"
}
},
"cs" : {
"stringUnit" : {
"state" : "translated",
"value" : "Chcete více než 5 připnutí? Organizujte své chaty a odemkněte prémiové funkce pomocí Session Pro"
}
},
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Mehr als 5 Anheftungen gewünscht? Organisiere deine Chats und schalte Premium-Funktionen mit {app_pro} frei"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Want more than 5 pins? Organize your chats and unlock premium features with {app_pro}"
}
},
"es-419" : {
"stringUnit" : {
"state" : "translated",
"value" : "¿Quieres más de 5 conversaciones fijadas? Organiza tus chats y desbloquea funciones premium con {app_pro}"
}
},
"es-ES" : {
"stringUnit" : {
"state" : "translated",
"value" : "¿Quieres más de 5 conversaciones fijadas? Organiza tus chats y desbloquea funciones premium con {app_pro}"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vous voulez plus que 5 messages épinglés ? Organisez vos chats et débloquez les fonctionnalités premium avec {app_pro}"
}
},
"hi" : {
"stringUnit" : {
"state" : "translated",
"value" : "5 से अधिक पिन करना चाहते हैं? अपनी चैट व्यवस्थित करें और {app_pro} के साथ प्रीमियम सुविधाओं का अनलॉक करें"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vuoi più di 5 chat bloccate? Organizza le tue chat e sblocca le funzionalità premium con {app_pro}"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "5件以上ピン留めしたいですか?{app_pro}でチャットを整理して、プレミアム機能を解除しましょう"
}
},
"nl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Wil je meer dan 5 vastgezette gesprekken? Organiseer je chats en ontgrendel premiumfuncties met {app_pro}"
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Chcesz przypiąć więcej niż 5 czatów? Zorganizuj konwersacje i odblokuj funkcje premium dzięki {app_pro}"
}
},
"pt-PT" : {
"stringUnit" : {
"state" : "translated",
"value" : "Quer fixar mais de 5 conversas? Organize os seus chats e desbloqueie funcionalidades premium com {app_pro}"
}
},
"ro" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vrei mai mult de 5 fixări? Organizează-ți conversațiile și deblochează funcționalități premium cu {app_pro}"
}
},
"ru" : {
"stringUnit" : {
"state" : "translated",
"value" : "Нужно более 5 закреплений? С {app_pro} организуйте свои чаты и получите доступ к премиум функциям"
}
},
"sv-SE" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vill du ha mer än 5 fästisar? Organisera dina chattar och lås upp premiumfunktioner med {app_pro}"
}
},
"tr" : {
"stringUnit" : {
"state" : "translated",
"value" : "5'ten fazla sabitleme mi istiyorsunuz? Sohbetlerinizi düzenleyin ve {app_pro} ile premium özelliklerin kilidini açın"
}
},
"uk" : {
"stringUnit" : {
"state" : "translated",
"value" : "Потрібно понад 5 закріплених бесід? Впорядкуйте свої бесіди та розблокуйте преміальні функції з {app_pro}"
}
},
"zh-CN" : {
"stringUnit" : {
"state" : "translated",
"value" : "想要固定超过 5 个对话?使用 {app_pro} 整理你的聊天并解锁高级功能"
}
},
"zh-TW" : {
"stringUnit" : {
"state" : "translated",
"value" : "想要釘選超過 5 則對話嗎?使用 {app_pro} 整理您的聊天並解鎖進階功能"
"value" : "Want more than {limit} pins? Organize your chats and unlock premium features with {app_pro}"
}
}
}
Expand Down
14 changes: 9 additions & 5 deletions SessionUIKit/Components/SwiftUI/ProCTAModal.swift
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,17 @@ public struct ProCTAModal: View {
.put(key: "app_pro", value: Constants.app_pro)
.localized()
case .morePinnedConvos(let isGrandfathered):
return isGrandfathered ?
"proCallToActionPinnedConversations"
.put(key: "app_pro", value: Constants.app_pro)
.localized() :
"proCallToActionPinnedConversationsMoreThan"
if isGrandfathered {
return "proCallToActionPinnedConversations"
.put(key: "app_pro", value: Constants.app_pro)
.localized()
}

return "proCallToActionPinnedConversationsMoreThan"
.put(key: "app_pro", value: Constants.app_pro)
.put(key: "limit", value: 5) // TODO: [PRO] Get from SessionProUIManager
.localized()

case .groupLimit:
return "proUserProfileModalCallToAction"
.put(key: "app_pro", value: Constants.app_pro)
Expand Down