Compare commits

...

20 Commits

Author SHA1 Message Date
Michael Telatynski
c95f095b57 Fix partial-deployment failing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-16 15:33:28 +00:00
Michael Telatynski
3db0a0a469 Exit on first non-zero error
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-16 15:33:15 +00:00
renovate[bot]
b3e49e7034 Update dependency macos to v15 (#2600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 11:35:50 +00:00
renovate[bot]
b20ebe58c8 Update electron-builder to v26.4.0 (#2721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 16:17:51 +00:00
Michael Telatynski
fc8cbc6320 Update macOS icon (#2787) 2026-01-14 13:35:31 +00:00
Guilhem Saurel
ac81e2ca26 Update atomically to v2.0.5, fix #2046 (#2783) 2026-01-14 12:47:34 +00:00
ElementRobot
809c5f6aeb Merge pull request #2786 from element-hq/actions/localazy-download
Localazy Download
2026-01-14 06:33:35 +00:00
t3chguy
079efef0d8 [create-pull-request] automated change 2026-01-14 06:09:26 +00:00
RiotRobot
f451c43535 Merge branch 'master' into develop 2026-01-13 15:20:51 +00:00
Michael Telatynski
25a3a60709 Update app icons (#2778) 2026-01-12 12:20:57 +00:00
Michael Telatynski
b5c0f25f30 Trigger pro pipeline (#2777) 2026-01-12 10:55:57 +00:00
Aditya Cherukuru
a89ef3d957 chore: use matrix-sort-i18n instead of jq for i18n:sort (#2776)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-08 11:01:25 +00:00
renovate[bot]
eafa7b0bbe Update dependency matrix-web-i18n to v3.5.0 (#2770)
* Update dependency matrix-web-i18n to v3.5.0

* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-07 13:48:33 +00:00
renovate[bot]
d11822ad50 Update electron (#2771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-06 15:46:49 +00:00
renovate[bot]
410cb9dc6c Update actions/cache action to v5 (#2774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:09:33 +00:00
renovate[bot]
1a949a2f01 Update GitHub Artifact Actions (#2775)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:06:01 +00:00
renovate[bot]
4a9d594d92 Update npm non-major dependencies (#2773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:04:02 +00:00
renovate[bot]
a6e59a1e93 Update docker (#2768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:01:40 +00:00
renovate[bot]
5d33a073b3 Update Node.js to v24.12.0 (#2772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:00:34 +00:00
renovate[bot]
f7866c4643 Update rust:bullseye Docker digest to 182c38f (#2769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 14:59:38 +00:00
16 changed files with 515 additions and 418 deletions

View File

@@ -122,11 +122,11 @@ jobs:
environment: ${{ needs.prepare.outputs.deploy == 'true' && 'packages.element.io' || '' }}
steps:
- name: Download artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
- name: Prepare artifacts for deployment
run: |
set -x
set -ex
# Windows
for arch in x64 arm64
@@ -161,25 +161,25 @@ jobs:
- name: "[Nightly] Strip version from installer file"
if: needs.prepare.outputs.nightly-version != ''
run: |
set -x
set -ex
# Windows
for arch in x64 arm64
do
[ -d "win-$arch" ] && mv packages.element.io/install/win32/$arch/{*,"Element Nightly Setup"}.exe
if [ -d "win-$arch" ]; then mv packages.element.io/install/win32/$arch/{*,"Element Nightly Setup"}.exe; fi
done
# macOS
[ -d macos ] && mv packages.element.io/install/macos/{*,"Element Nightly"}.dmg
if [ -d macos ]; then mv packages.element.io/install/macos/{*,"Element Nightly"}.dmg; fi
# Linux
[ -d linux-amd64-sqlcipher-static ] && mv packages.element.io/install/linux/glibc-x86-64/{*,element-desktop-nightly}.tar.gz
[ -d linux-arm64-sqlcipher-static ] && mv packages.element.io/install/linux/glibc-aarch64/{*,element-desktop-nightly}.tar.gz
if [ -d linux-amd64-sqlcipher-static ]; then mv packages.element.io/install/linux/glibc-x86-64/{*,element-desktop-nightly}.tar.gz; fi
if [ -d linux-arm64-sqlcipher-static ]; then mv packages.element.io/install/linux/glibc-aarch64/{*,element-desktop-nightly}.tar.gz; fi
- name: "[Release] Prepare release latest symlink"
if: needs.prepare.outputs.nightly-version == ''
run: |
set -x
set -ex
# Windows
for arch in x64 arm64
@@ -212,7 +212,7 @@ jobs:
- name: Stash packages.element.io
if: needs.prepare.outputs.deploy == 'false'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: packages.element.io
path: packages.element.io
@@ -250,7 +250,7 @@ jobs:
- name: Stash debs
if: needs.prepare.outputs.deploy == 'false' && needs.linux.result == 'success'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: debs
path: |
@@ -296,7 +296,7 @@ jobs:
aws-region: ${{ env.AWS_REGION }}
- name: Download artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
pattern: win-*

View File

@@ -64,7 +64,7 @@ jobs:
run: yarn install --frozen-lockfile
- name: Download blob reports from GitHub Actions Artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
pattern: blob-report-*
path: all-blob-reports
@@ -75,7 +75,7 @@ jobs:
- name: Upload HTML report
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: html-report
path: playwright-report

View File

@@ -110,13 +110,13 @@ jobs:
repository: element-hq/element-desktop
ref: ${{ inputs.ref }}
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
name: ${{ inputs.prepare-artifact-name }}
- name: Cache .hak
id: cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
with:
key: ${{ runner.os }}-${{ github.ref_name }}-${{ inputs.sqlcipher }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion', 'dockerbuild/*') }}
path: |
@@ -214,7 +214,7 @@ jobs:
# We exclude *-unpacked as it loses permissions and the tarball contains it with correct permissions
- name: Upload Artifacts
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: ${{ inputs.artifact-prefix }}linux-${{ inputs.arch }}-sqlcipher-${{ inputs.sqlcipher }}
path: |

View File

@@ -72,7 +72,7 @@ permissions: {} # No permissions required
jobs:
build:
name: Build macOS Universal
runs-on: macos-14 # M1
runs-on: macos-15 # M1
environment: ${{ inputs.sign && 'packages.element.io' || '' }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
@@ -80,13 +80,13 @@ jobs:
repository: element-hq/element-desktop
ref: ${{ inputs.ref }}
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
name: ${{ inputs.prepare-artifact-name }}
- name: Cache .hak
id: cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
with:
key: ${{ runner.os }}-${{ hashFiles('hakHash', 'electronVersion') }}
path: |
@@ -176,7 +176,7 @@ jobs:
# We exclude mac-universal as the unpacked app takes forever to upload and zip and dmg already contains it
- name: Upload Artifacts
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: ${{ inputs.artifact-prefix }}macos
path: |

View File

@@ -165,7 +165,7 @@ jobs:
echo "| Element Web | [$WEB_VERSION](https://github.com/element-hq/element-web/commit/$WEB_VERSION) |" >> $GITHUB_STEP_SUMMARY
echo "| JS SDK | [$JS_VERSION](https://github.com/matrix-org/matrix-js-sdk/commit/$JS_VERSION) |" >> $GITHUB_STEP_SUMMARY
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: webapp
retention-days: 1

View File

@@ -48,7 +48,7 @@ jobs:
- name: Install Deps
run: "yarn install --frozen-lockfile"
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
name: ${{ inputs.artifact }}
path: dist
@@ -86,7 +86,7 @@ jobs:
- name: Upload blob report
if: always() && inputs.blob_report
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: blob-report-${{ inputs.artifact }}
path: blob-report
@@ -94,7 +94,7 @@ jobs:
- name: Upload HTML report
if: always() && inputs.blob_report == false
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: ${{ inputs.artifact }}-test
path: playwright-report

View File

@@ -113,13 +113,13 @@ jobs:
repository: element-hq/element-desktop
ref: ${{ inputs.ref }}
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
name: ${{ inputs.prepare-artifact-name }}
- name: Cache .hak
id: cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
with:
key: ${{ runner.os }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion') }}
path: |
@@ -258,7 +258,7 @@ jobs:
| ForEach-Object -Process {. $env:SIGNTOOL_PATH verify /pa $_.FullName; if(!$?) { throw }}
- name: Upload Artifacts
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: ${{ inputs.artifact-prefix }}win-${{ inputs.arch }}
path: |

View File

@@ -25,7 +25,7 @@ jobs:
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
with:
install: true
@@ -42,7 +42,7 @@ jobs:
run: docker run -v $PWD:/project element-desktop-dockerbuild yarn install
- name: Log in to the Container registry
uses: docker/login-action@28fdb31ff34708d19615a74d67103ddc2ea9725c
uses: docker/login-action@6862ffc5ab2cdb4405cf318a62a6f4c066e2298b
if: github.event_name != 'pull_request'
with:
registry: ${{ env.REGISTRY }}

View File

@@ -1 +1 @@
24.11.1
24.12.0

View File

Binary file not shown.

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -1,6 +1,6 @@
# Docker image to facilitate building Element Desktop's native bits using a glibc version (2.31)
# with broader compatibility, down to Debian bullseye & Ubuntu focal.
FROM rust:bullseye@sha256:f02c249a0dd84eda8a3403b6fb1a4a59fee86157f1657cb1f8baaf3d89fe2d88
FROM rust:bullseye@sha256:182c38f1049c4348a0286392d817d400a6cdb51eebb479d446cd6286bbe6e758
ENV DEBIAN_FRONTEND=noninteractive

View File

@@ -22,7 +22,7 @@
},
"scripts": {
"i18n": "matrix-gen-i18n && yarn i18n:sort && yarn i18n:lint",
"i18n:sort": "jq --sort-keys '.' src/i18n/strings/en_EN.json > src/i18n/strings/en_EN.json.tmp && mv src/i18n/strings/en_EN.json.tmp src/i18n/strings/en_EN.json",
"i18n:sort": "matrix-sort-i18n src/i18n/strings/en_EN.json",
"i18n:lint": "prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null",
"i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"mkdirs": "mkdirp packages deploys",
@@ -85,12 +85,12 @@
"@types/pacote": "^11.1.1",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"app-builder-lib": "26.2.0",
"app-builder-lib": "26.4.0",
"chokidar": "^5.0.0",
"detect-libc": "^2.0.0",
"electron": "39.2.6",
"electron-builder": "26.2.0",
"electron-builder-squirrel-windows": "26.2.0",
"electron": "39.2.7",
"electron-builder": "26.4.0",
"electron-builder-squirrel-windows": "26.4.0",
"electron-devtools-installer": "^4.0.0",
"eslint": "^8.26.0",
"eslint-config-google": "^0.14.0",
@@ -103,7 +103,7 @@
"husky": "^9.1.6",
"knip": "^5.0.0",
"lint-staged": "^16.0.0",
"matrix-web-i18n": "^3.2.1",
"matrix-web-i18n": "3.5.2",
"mkdirp": "^3.0.0",
"pacote": "^21.0.0",
"patch-package": "^8.0.1",
@@ -118,8 +118,10 @@
"matrix-seshat": "^4.0.1"
},
"resolutions": {
"atomically": "2.0.5",
"@types/node": "18.19.130",
"config-file-ts": "0.2.8-rc1",
"node-abi": "4.24.0"
"node-abi": "4.24.0",
"@types/pg-pool": "2.0.7"
}
}

93
src/i18n/strings/hr.json Normal file
View File

@@ -0,0 +1,93 @@
{
"action": {
"cancel": "Otkazati",
"close": "Zatvori",
"close_brand": "Zatvori %(brand)s",
"copy": "Kopirati",
"cut": "Izrezati",
"delete": "Izbriši",
"edit": "Uredi",
"minimise": "Minimiziraj",
"paste": "Zalijepiti",
"paste_match_style": "Zalijepi i uskladi stil",
"quit": "Prestati",
"redo": "Preurediti",
"select_all": "Odaberi sve",
"show_hide": "Pokaži/sakrij",
"undo": "Poništi",
"zoom_in": "Povećaj",
"zoom_out": "Smanji"
},
"common": {
"about": "Više o",
"brand_help": "%(brand)s pomoć",
"help": "Pomoć",
"no": "Ne",
"preferences": "Preference",
"yes": "Da"
},
"confirm_quit": "Jesi li siguran da želiš odustati?",
"edit_menu": {
"speech": "Govor",
"speech_start_speaking": "Počnite govoriti",
"speech_stop_speaking": "Prestanite govoriti"
},
"eol": {
"no_more_updates": "Upotrebljavate nepodržanu inačicu macOS-a. Nadogradite kako biste primili ažuriranja za %(brand)s.",
"title": "Sustav nije podržan",
"warning": "Upotrebljavate nepodržanu inačicu macOS-a. Nadogradite kako biste osigurali da %(brand)s nastavi s radom."
},
"file_menu": {
"label": "Datoteka"
},
"icon_overlay": {
"description_error": "Pogreška",
"description_notifications": {
"one": "Imate %(count)s nepročitanu obavijest.",
"few": "Imate %(count)s nepročitane obavijesti.",
"other": "Imate %(count)s nepročitanih obavijesti."
}
},
"menu": {
"hide": "Sakrij",
"hide_others": "Sakrij ostale",
"services": "Usluge",
"unhide": "Otkrij"
},
"right_click_menu": {
"add_to_dictionary": "Dodaj u rječnik",
"copy_email": "Kopiraj e-adresu",
"copy_image": "Kopiraj sliku",
"copy_image_url": "Kopiraj adresu slike",
"copy_link_url": "Kopiraj adresu poveznice",
"save_image_as": "Spremi sliku kao...",
"save_image_as_error_description": "Spremanje slike nije uspjelo",
"save_image_as_error_title": "Spremanje slike nije uspjelo"
},
"store": {
"error": {
"backend_changed": "Želite li izbrisati podatke i ponovno učitati?",
"backend_changed_detail": "Nije moguće pristupiti tajnom kodu iz pohrane ključeva sustava, izgleda da je promijenjen.",
"backend_changed_title": "Nije uspjelo učitavanje baze podataka",
"backend_no_encryption": "Vaš sustav ima podržanu pohranu ključeva, ali šifriranje nije dostupno.",
"backend_no_encryption_detail": "Electron je otkrio da šifriranje nije dostupno u vašoj pohrani ključeva %(backend)s. Provjerite imate li instaliranu pohranu ključeva. Ako imate, ponovno pokrenite računalo i pokušajte ponovno. Po želji možete dopustiti da %(brand)s upotrebljava slabiji oblik šifriranja.",
"backend_no_encryption_title": "Nema podrške za šifriranje",
"unsupported_keyring": "Vaš sustav ima nepodržanu pohranu ključeva, što znači da se baza podataka ne može otvoriti.",
"unsupported_keyring_detail": "Electronova detekcija pohrane ključeva nije pronašla podržanu pozadinu. Možete pokušati ručno konfigurirati pozadinu tako da pokrenete %(brand)s s argumentom naredbenog retka, što je potrebno učiniti samo jednom. Pogledajte %(link)s.",
"unsupported_keyring_title": "Sustav nije podržan",
"unsupported_keyring_use_basic_text": "Upotrijebi slabije šifriranje",
"unsupported_keyring_use_plaintext": "Ne upotrebljavaj šifriranje"
}
},
"view_menu": {
"actual_size": "Stvarna veličina",
"toggle_developer_tools": "Uključi/isključi alate za razvojne inženjere",
"toggle_full_screen": "Uključi/isključi prikaz na cijelom zaslonu",
"view": "Prikaz"
},
"window_menu": {
"bring_all_to_front": "Stavi sve u prvi plan",
"label": "Prozor",
"zoom": "Zumiranje"
}
}

762
yarn.lock
View File

File diff suppressed because it is too large Load Diff