diff --git a/.github/actions/free_up_space/action.yaml b/.github/actions/free_up_space/action.yaml
new file mode 100644
index 000000000..abe2c4b55
--- /dev/null
+++ b/.github/actions/free_up_space/action.yaml
@@ -0,0 +1,50 @@
+name: "Free up space"
+
+inputs:
+ target:
+ required: true
+
+runs:
+ using: "composite"
+ steps:
+ - name: Free up space
+ shell: bash
+ run: |
+ sudo rm -rf /usr/share/dotnet
+ sudo rm -rf /usr/local/share/boost
+ sudo rm -rf /usr/local/share/chromium
+ sudo rm -rf /usr/local/share/powershell
+ sudo rm -rf /usr/local/share/vcpkg
+ sudo rm -rf /usr/local/share/miniconda
+ sudo rm -rf /opt/ghc
+ sudo rm -rf /opt/hostedtoolcache/CodeQL
+ sudo rm -rf /opt/hostedtoolcache/go
+ sudo rm -rf /opt/hostedtoolcache/Python
+ sudo rm -rf /opt/hostedtoolcache/node
+ sudo rm -rf /opt/hostedtoolcache/R
+ sudo rm -rf /opt/hostedtoolcache/Java
+ sudo rm -rf /opt/hostedtoolcache/LLVM
+ sudo rm -rf /opt/hostedtoolcache/Swift
+ sudo rm -rf /opt/hostedtoolcache/Php
+ sudo rm -rf /opt/hostedtoolcache/Perl
+ sudo rm -rf /opt/hostedtoolcache/Scala
+ sudo rm -rf /opt/hostedtoolcache/Julia
+ sudo rm -rf /opt/hostedtoolcache/Mono
+ sudo rm -rf /opt/hostedtoolcache/PowerShell
+ sudo rm -rf /opt/hostedtoolcache/Crystal
+ sudo rm -rf /opt/hostedtoolcache/Elixir
+ sudo rm -rf /opt/hostedtoolcache/Erlang
+ sudo rm -rf /opt/hostedtoolcache/FSharp
+ sudo rm -rf /opt/hostedtoolcache/Haskell
+ sudo rm -rf /opt/hostedtoolcache/OCaml
+ sudo rm -rf /opt/hostedtoolcache/Sbt
+ sudo rm -rf /opt/hostedtoolcache/Solidity
+ sudo rm -rf /opt/hostedtoolcache/VisualStudio
+ sudo rm -rf /opt/hostedtoolcache/WinAppDriver
+ sudo rm -rf /opt/hostedtoolcache/Xamarin
+ sudo rm -rf /opt/hostedtoolcache/Yarn
+ sudo rm -rf /opt/hostedtoolcache/Zephyr
+ sudo rm -rf /opt/hostedtoolcache/zig
+ sudo rm -rf /opt/hostedtoolcache/zulu
+ sudo rm -rf /opt/hostedtoolcache/azcopy
+ echo "export CARGO_BUILD_JOBS=1" >> $GITHUB_ENV
diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml
index 38ba8e788..c21bda7ef 100644
--- a/.github/workflows/integrate.yaml
+++ b/.github/workflows/integrate.yaml
@@ -43,6 +43,7 @@ jobs:
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
+ - uses: ./.github/actions/free_up_space
- uses: moonrepo/setup-rust@v1
- run: flutter pub get
- run: flutter build apk --debug --target-platform android-arm64
diff --git a/.github/workflows/main_deploy.yaml b/.github/workflows/main_deploy.yaml
index d37d4ee1d..4cd67bfc3 100644
--- a/.github/workflows/main_deploy.yaml
+++ b/.github/workflows/main_deploy.yaml
@@ -53,6 +53,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
+ - uses: ./.github/actions/free_up_space
- uses: moonrepo/setup-rust@v1
- name: Install Fastlane
run: gem install fastlane -NV
@@ -68,7 +69,7 @@ jobs:
PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }}
run: ./scripts/prepare-android-release.sh
- name: Build Android Release
- run: flutter build appbundle --target-platform android-arm,android-arm64,android-x64
+ run: flutter build appbundle --target-platform android-arm,android-arm64
- name: Set changelog
working-directory: android/fastlane/metadata/android/en-US/changelogs
run: git log --no-merges -1 --pretty=%B > default.txt
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 01ba1343c..6737d5b1e 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -86,6 +86,7 @@ jobs:
run: |
echo '${{secrets.GOOGLE_SERVICES_JSON}}' | base64 -d > android/app/google-services.json
./scripts/add-firebase-messaging.sh
+ - uses: ./.github/actions/free_up_space
- uses: moonrepo/setup-rust@v1
- run: flutter pub get
- name: Prepare Android Release Build
@@ -94,7 +95,7 @@ jobs:
FDROID_KEY_PASS: ${{ secrets.FDROID_KEY_PASS }}
PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }}
run: ./scripts/prepare-android-release.sh
- - run: flutter build apk --release
+ - run: flutter build apk --release --target-platform android-arm,android-arm64
- name: Upload to release
uses: actions/upload-release-asset@v1
env:
@@ -151,6 +152,7 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
+ - uses: ./.github/actions/free_up_space
- uses: moonrepo/setup-rust@v1
- name: Install Fastlane
working-directory: android
@@ -167,7 +169,7 @@ jobs:
PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }}
run: ./scripts/prepare-android-release.sh
- name: Build Android Release
- run: flutter build appbundle --target-platform android-arm,android-arm64,android-x64
+ run: flutter build appbundle --target-platform android-arm,android-arm64
- name: Get Tag Name
id: tag_name
run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})"
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 7ff6ba64e..1b3f5182c 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -18,12 +18,9 @@
-
-
-
-
-
+
+
+
diff --git a/lib/l10n/intl_fi.arb b/lib/l10n/intl_fi.arb
index 78b7614a2..22b31b1a9 100644
--- a/lib/l10n/intl_fi.arb
+++ b/lib/l10n/intl_fi.arb
@@ -3125,5 +3125,249 @@
"inviteOtherUsers": "Kutsu muita käyttäjiä tähän pikakeskusteluun",
"@inviteOtherUsers": {},
"changeTheChatPermissions": "Muuta keskustelulupia",
- "@changeTheChatPermissions": {}
+ "@changeTheChatPermissions": {},
+ "changeTheVisibilityOfChatHistory": "Muuta pikakeskusteluhistorian näkyvyyttä",
+ "@changeTheVisibilityOfChatHistory": {},
+ "changeTheCanonicalRoomAlias": "Vaihda julkisen pikakeskustelun pääosoite",
+ "@changeTheCanonicalRoomAlias": {},
+ "sendRoomNotifications": "Lähetä @room-ilmoituksia",
+ "@sendRoomNotifications": {},
+ "changeTheDescriptionOfTheGroup": "Muuta keskustelun kuvausta",
+ "@changeTheDescriptionOfTheGroup": {},
+ "chatPermissionsDescription": "Määritä tarvittava tehotaso tietyille toiminnoille tässä pikakeskustelussa. Tehotasot 0, 50 ja 100 edustavat yleensä käyttäjiä, valvoja ja ylläpitäjiä, mutta mikä tahansa porrastus on mahdollinen.",
+ "@chatPermissionsDescription": {},
+ "updateInstalled": "🎉 Päivitys {version} asennettu!",
+ "@updateInstalled": {
+ "type": "String",
+ "placeholders": {
+ "version": {
+ "type": "String"
+ }
+ }
+ },
+ "sendCanceled": "Lähetys peruttu",
+ "@sendCanceled": {},
+ "loginWithMatrixId": "Kirjaudu sisään Matrix-tunnuksella",
+ "@loginWithMatrixId": {},
+ "discoverHomeservers": "Tutustu kotipalvelimiin",
+ "@discoverHomeservers": {},
+ "whatIsAHomeserver": "Mikä on kotipalvelin?",
+ "@whatIsAHomeserver": {},
+ "homeserverDescription": "Kaikki tietosi tallennetaan kotipalvelimelle, aivan kuten sähköpostipalveluntarjoaja. Voit valita, mitä kotipalvelinta haluat käyttää, ja silti kommunikoida kaikkien kanssa. Lisätietoja osoitteessa https://matrix.org.",
+ "@homeserverDescription": {},
+ "doesNotSeemToBeAValidHomeserver": "Ei näytä olevan yhteensopiva kotipalvelin. Väärä URL-osoite?",
+ "@doesNotSeemToBeAValidHomeserver": {},
+ "calculatingFileSize": "Lasketaan tiedoston kokoa...",
+ "@calculatingFileSize": {},
+ "prepareSendingAttachment": "Valmistele lähetettävä liite...",
+ "@prepareSendingAttachment": {},
+ "sendingAttachment": "Lähetetään liitettä...",
+ "@sendingAttachment": {},
+ "generatingVideoThumbnail": "Videon pikkukuvan luominen...",
+ "@generatingVideoThumbnail": {},
+ "compressVideo": "Pakataan videota...",
+ "@compressVideo": {},
+ "sendingAttachmentCountOfCount": "Lähetetään {length} pituista liitettä {index}...",
+ "@sendingAttachmentCountOfCount": {
+ "type": "integer",
+ "placeholders": {
+ "index": {
+ "type": "int"
+ },
+ "length": {
+ "type": "int"
+ }
+ }
+ },
+ "serverLimitReached": "Palvelinraja saavutettu! Odotetaan {seconds} sekuntia...",
+ "@serverLimitReached": {
+ "type": "integer",
+ "placeholders": {
+ "seconds": {
+ "type": "int"
+ }
+ }
+ },
+ "oneOfYourDevicesIsNotVerified": "Yhtä laitteistasi ei ole vahvistettu",
+ "@oneOfYourDevicesIsNotVerified": {},
+ "noticeChatBackupDeviceVerification": "Huomautus: Kun yhdistät kaikki laitteesi keskustelun varmuuskopiointiin, ne vahvistetaan automaattisesti.",
+ "@noticeChatBackupDeviceVerification": {},
+ "blur": "Sumeus:",
+ "@blur": {},
+ "opacity": "Läpinäkymättömyys:",
+ "@opacity": {},
+ "setWallpaper": "Aseta taustakuva",
+ "@setWallpaper": {},
+ "manageAccount": "Hallinnoi tiliä",
+ "@manageAccount": {},
+ "noContactInformationProvided": "Palvelin ei ilmoittaa mitään kelvollisia yhteystietoja",
+ "@noContactInformationProvided": {},
+ "contactServerAdmin": "Ota yhteyttä palvelimen ylläpitäjään",
+ "@contactServerAdmin": {},
+ "contactServerSecurity": "Ota yhteyttä palvelimen tietoturvaosastoon",
+ "@contactServerSecurity": {},
+ "supportPage": "Tukisivu",
+ "@supportPage": {},
+ "compress": "Pakkaa",
+ "@compress": {},
+ "boldText": "Lihavoitu teksti",
+ "@boldText": {},
+ "italicText": "Kursivoitu teksti",
+ "@italicText": {},
+ "strikeThrough": "Yliviivaus",
+ "@strikeThrough": {},
+ "pleaseFillOut": "Ole hyvä ja täytä",
+ "@pleaseFillOut": {},
+ "invalidUrl": "Virheellinen URL-osoite",
+ "@invalidUrl": {},
+ "addLink": "Lisää linkki",
+ "@addLink": {},
+ "unableToJoinChat": "Pikakeskusteluun liittyminen ei onnistu. Toinen osapuoli on ehkä jo sulkenut keskustelun.",
+ "@unableToJoinChat": {},
+ "otherPartyNotLoggedIn": "Toinen osapuoli ei ole tällä hetkellä kirjautuneena sisään, joten ei voi vastaanottaa viestejä!",
+ "@otherPartyNotLoggedIn": {},
+ "appWantsToUseForLogin": "Kirjaudu sisään käyttämällä '{server}':ta",
+ "@appWantsToUseForLogin": {
+ "type": "String",
+ "placeholders": {
+ "server": {
+ "type": "String"
+ }
+ }
+ },
+ "appWantsToUseForLoginDescription": "Annat täten sovellukselle ja verkkosivustolle luvan jakaa tietoja sinusta.",
+ "@appWantsToUseForLoginDescription": {},
+ "waitingForServer": "Odotetaan palvelinta...",
+ "@waitingForServer": {},
+ "appIntroduction": "FluffyChatin avulla voit keskustella ystäviesi kanssa eri pikaviestimien kautta. Lue lisää osoitteesta https://matrix.org tai napauta *Jatka*.",
+ "@appIntroduction": {},
+ "newChatRequest": "📩 Uusi pikakeskustelupyyntö",
+ "@newChatRequest": {},
+ "contentNotificationSettings": "Sisältöilmoitusten asetukset",
+ "@contentNotificationSettings": {},
+ "generalNotificationSettings": "Yleiset ilmoitusasetukset",
+ "@generalNotificationSettings": {},
+ "roomNotificationSettings": "Huoneen ilmoitusten asetukset",
+ "@roomNotificationSettings": {},
+ "userSpecificNotificationSettings": "Käyttäjäkohtaiset ilmoitusten asetukset",
+ "@userSpecificNotificationSettings": {},
+ "otherNotificationSettings": "Muut ilmoitusten asetukset",
+ "@otherNotificationSettings": {},
+ "notificationRuleContainsUserName": "Sisältää käyttäjän nimen",
+ "@notificationRuleContainsUserName": {},
+ "notificationRuleContainsUserNameDescription": "Ilmoittaa käyttäjälle, kun viesti sisältää hänen käyttäjän nimensä.",
+ "@notificationRuleContainsUserNameDescription": {},
+ "notificationRuleMaster": "Mykistä kaikki ilmoitukset",
+ "@notificationRuleMaster": {},
+ "notificationRuleMasterDescription": "Ohittaa kaikki muut säännöt ja poistaa kaikki ilmoitukset käytöstä.",
+ "@notificationRuleMasterDescription": {},
+ "notificationRuleSuppressNotices": "Poista kaikki automatisoidut viestit",
+ "@notificationRuleSuppressNotices": {},
+ "notificationRuleSuppressNoticesDescription": "Poistaa ilmoitukset automatisoiduilta asiakkailta, kuten boteilta.",
+ "@notificationRuleSuppressNoticesDescription": {},
+ "notificationRuleInviteForMe": "Kutsu minulle",
+ "@notificationRuleInviteForMe": {},
+ "notificationRuleInviteForMeDescription": "Ilmoittaa käyttäjälle, kun hänet on kutsuttu huoneeseen.",
+ "@notificationRuleInviteForMeDescription": {},
+ "notificationRuleMemberEvent": "Jäsentapahtuma",
+ "@notificationRuleMemberEvent": {},
+ "notificationRuleMemberEventDescription": "Poistaa jäsenyystapahtumien ilmoitukset.",
+ "@notificationRuleMemberEventDescription": {},
+ "notificationRuleIsUserMention": "Käyttäjän maininta",
+ "@notificationRuleIsUserMention": {},
+ "notificationRuleIsUserMentionDescription": "Ilmoittaa käyttäjälle, kun hänet mainitaan suoraan viestissä.",
+ "@notificationRuleIsUserMentionDescription": {},
+ "notificationRuleContainsDisplayName": "Sisältää näyttönimen",
+ "@notificationRuleContainsDisplayName": {},
+ "notificationRuleContainsDisplayNameDescription": "Ilmoittaa käyttäjälle, kun viesti sisältää hänen näyttönimensä.",
+ "@notificationRuleContainsDisplayNameDescription": {},
+ "notificationRuleIsRoomMention": "Huoneen maininta",
+ "@notificationRuleIsRoomMention": {},
+ "notificationRuleIsRoomMentionDescription": "Ilmoittaa käyttäjälle, kun huoneesta on maininta.",
+ "@notificationRuleIsRoomMentionDescription": {},
+ "notificationRuleRoomnotif": "Huoneilmoitus",
+ "@notificationRuleRoomnotif": {},
+ "notificationRuleRoomnotifDescription": "Ilmoittaa käyttäjälle, kun viesti sisältää '@room'.",
+ "@notificationRuleRoomnotifDescription": {},
+ "notificationRuleTombstone": "Hautakivi",
+ "@notificationRuleTombstone": {},
+ "notificationRuleTombstoneDescription": "Ilmoittaa käyttäjälle huoneen deaktivointiviesteistä.",
+ "@notificationRuleTombstoneDescription": {},
+ "notificationRuleReaction": "Reagointi",
+ "@notificationRuleReaction": {},
+ "notificationRuleReactionDescription": "Poistaa ilmoitukset reaktioista.",
+ "@notificationRuleReactionDescription": {},
+ "notificationRuleRoomServerAcl": "Huonepalvelimen pääsyluettelo",
+ "@notificationRuleRoomServerAcl": {},
+ "notificationRuleRoomServerAclDescription": "Poistaa huonepalvelimen pääsyluetteloiden (ACL) ilmoitukset.",
+ "@notificationRuleRoomServerAclDescription": {},
+ "notificationRuleSuppressEdits": "Poista muokkaukset",
+ "@notificationRuleSuppressEdits": {},
+ "notificationRuleSuppressEditsDescription": "Poistaa ilmoitukset muokatuista viesteistä.",
+ "@notificationRuleSuppressEditsDescription": {},
+ "notificationRuleCall": "Soita",
+ "@notificationRuleCall": {},
+ "notificationRuleCallDescription": "Ilmoittaa käyttäjälle soitoista.",
+ "@notificationRuleCallDescription": {},
+ "notificationRuleEncryptedRoomOneToOne": "Kahdenkeskinen salattu huone",
+ "@notificationRuleEncryptedRoomOneToOne": {},
+ "notificationRuleEncryptedRoomOneToOneDescription": "Ilmoittaa käyttäjälle kahdenkeskisissä salatuissa huoneissa olevista viesteistä.",
+ "@notificationRuleEncryptedRoomOneToOneDescription": {},
+ "notificationRuleRoomOneToOne": "Kahdenkeskinen huone",
+ "@notificationRuleRoomOneToOne": {},
+ "notificationRuleRoomOneToOneDescription": "Ilmoittaa käyttäjälle kahdenkeskisissä huoneissa olevista viesteistä.",
+ "@notificationRuleRoomOneToOneDescription": {},
+ "notificationRuleMessage": "Viesti",
+ "@notificationRuleMessage": {},
+ "notificationRuleMessageDescription": "Ilmoittaa käyttäjälle yleisistä viesteistä.",
+ "@notificationRuleMessageDescription": {},
+ "notificationRuleEncrypted": "Salattu",
+ "@notificationRuleEncrypted": {},
+ "notificationRuleEncryptedDescription": "Ilmoittaa käyttäjälle salatuissa huoneissa olevista viesteistä.",
+ "@notificationRuleEncryptedDescription": {},
+ "notificationRuleJitsiDescription": "Ilmoittaa käyttäjälle tapahtumista Jitsi-vimpaimesta.",
+ "@notificationRuleJitsiDescription": {},
+ "notificationRuleServerAcl": "Poista tapahtumat palvelimen pääsyluettelosta",
+ "@notificationRuleServerAcl": {},
+ "notificationRuleServerAclDescription": "Poistaa ilmoitukset palvelimen pääsyluettelosta.",
+ "@notificationRuleServerAclDescription": {},
+ "unknownPushRule": "Tuntematon työntösääntö '{rule}'",
+ "@unknownPushRule": {
+ "type": "String",
+ "placeholders": {
+ "rule": {
+ "type": "String"
+ }
+ }
+ },
+ "sentVoiceMessage": "🎙️ {duration} - Ääniviesti {sender}:lta",
+ "@sentVoiceMessage": {
+ "type": "String",
+ "placeholders": {
+ "sender": {
+ "type": "String"
+ },
+ "duration": {
+ "type": "String"
+ }
+ }
+ },
+ "deletePushRuleCanNotBeUndone": "Jos poistat tämän ilmoitusasetuksen, sitä ei voi kumota.",
+ "@deletePushRuleCanNotBeUndone": {},
+ "shareKeysWith": "Jaa avaimet...",
+ "@shareKeysWith": {},
+ "shareKeysWithDescription": "Mihin laitteisiin tulisi luottaa, jotta ne voivat lukea viestejäsi salatuissa keskusteluissa?",
+ "@shareKeysWithDescription": {},
+ "crossVerifiedDevicesIfEnabled": "Ristiinvahvistetut laitteet, jos otettu käyttöön",
+ "@crossVerifiedDevicesIfEnabled": {},
+ "crossVerifiedDevices": "Ristiinvahvistetut laitteet",
+ "@crossVerifiedDevices": {},
+ "verifiedDevicesOnly": "Vain vahvistetut laitteet",
+ "@verifiedDevicesOnly": {},
+ "takeAPhoto": "Ota valokuva",
+ "@takeAPhoto": {},
+ "optionalMessage": "(Valinnainen) viesti...",
+ "@optionalMessage": {},
+ "notSupportedOnThisDevice": "Ei tuettu tällä laitteella",
+ "@notSupportedOnThisDevice": {}
}
diff --git a/lib/l10n/intl_nb.arb b/lib/l10n/intl_nb.arb
index e59373c34..af03494be 100644
--- a/lib/l10n/intl_nb.arb
+++ b/lib/l10n/intl_nb.arb
@@ -3223,5 +3223,26 @@
"callingAccount": "Ringekonto",
"@callingAccount": {},
"appearOnTopDetails": "Lar appen vises øverst (ikke nødvendig hvis du allerede har Fluffychat konfigurert som en ringekonto)",
- "@appearOnTopDetails": {}
+ "@appearOnTopDetails": {},
+ "longPressToRecordVoiceMessage": "Langt trykk for å spille inn talemelding.",
+ "@longPressToRecordVoiceMessage": {},
+ "startedAPoll": "{username} startet en avstemning.",
+ "@startedAPoll": {
+ "type": "String",
+ "placeholders": {
+ "username": {
+ "type": "String"
+ }
+ }
+ },
+ "poll": "Avstemning",
+ "@poll": {},
+ "startPoll": "Start avstemning",
+ "@startPoll": {},
+ "endPoll": "Avslutt avstemning",
+ "@endPoll": {},
+ "answersVisible": "Svar synlige",
+ "@answersVisible": {},
+ "answersHidden": "Svar skjult",
+ "@answersHidden": {}
}