Merge upstream v1.12.26 - reconnect the fork to Element Web (management #0099)
The repo had no upstream ancestry: a whole tree arrived in one commit in May, so
every update meant re-applying our patches by hand onto a fresh checkout, and a file
Element moved would take our lines with it silently.
The real base was found by measuring tree distance across develop rather than trusting
the changelog: deadd548, not the v1.12.17 tag. With that set as a temporary graft, this
merge computed as a proper three-way merge - 32 conflicts instead of 1757.
Resolutions, each decided rather than defaulted:
- 24 GitHub workflows stay deleted; we build on GitLab CI.
- MImageBody.tsx is gone upstream, migrated to MVVM. Our ClamAV error label moved into
ImageBodyViewModel.computeErrorLabel, ahead of the DecryptError branch, matching what
VideoBodyViewModel and FileBodyViewModel already do.
- Upstream extracted the room list item body into RoomListItemContent. Our call
participants list and its getInitials helper moved there; both sides' CSS classes and
both sides' props are kept.
- matrix-js-sdk follows upstream at 42.2.0 - our git ref pin was a workaround for a
stale ref, and following upstream is the point of this merge.
- Element Call stays ours. Checked before deciding: @element-hq/element-call-embedded
is referenced nowhere in the tree, while webpack.config.ts needs
@sorb/threadnet-call-embedded, so taking upstream's line would have deleted the noise
suppression from #0054 without a word.
The lockfile was regenerated with pnpm 11.20.0, which upstream now requires through
devEngines. CI already runs corepack enable, and onFail: download makes it fetch that
version by itself.
Not yet accepted: this needs a build and the ClamAV functional test - send an encrypted
file, receive a rejected one - before it goes near main.
This commit is contained in:
+7
-1
@@ -21,9 +21,15 @@
|
||||
|
||||
|
||||
/apps/web/src/models/Call.ts @element-hq/element-call-reviewers
|
||||
/apps/web/test/unit-tests/models/Call-test.ts @element-hq/element-call-reviewers
|
||||
/apps/web/src/stores/CallStore.ts @element-hq/element-call-reviewers
|
||||
/apps/web/test/unit-tests/stores/CallStore-test.ts @element-hq/element-call-reviewers
|
||||
/apps/web/src/call-types.ts @element-hq/element-call-reviewers
|
||||
/apps/web/src/components/views/voip @element-hq/element-call-reviewers
|
||||
/apps/web/playwright/e2e/voip/element-call.spec.ts @element-hq/element-call-reviewers
|
||||
/apps/web/res/css/views/voip @element-hq/element-call-reviewers
|
||||
/apps/web/playwright/e2e/voip @element-hq/element-call-reviewers
|
||||
/apps/web/playwright/snapshots/voip @element-hq/element-call-reviewers
|
||||
/apps/web/test/test-utils/call.ts @element-hq/element-call-reviewers
|
||||
|
||||
# Ignore translations as those will be updated by GHA for Localazy download
|
||||
/apps/web/src/i18n/strings
|
||||
|
||||
@@ -21,7 +21,7 @@ runs:
|
||||
PREFIX: ${{ runner.os }}-${{ runner.arch }}
|
||||
|
||||
- name: Cache playwright binaries
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
|
||||
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
|
||||
if: inputs.write-cache == 'true'
|
||||
id: cache
|
||||
with:
|
||||
@@ -30,7 +30,7 @@ runs:
|
||||
|
||||
# When running in merge queue only restore the cache, never write it
|
||||
- name: Restore playwright binaries cache
|
||||
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
|
||||
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
|
||||
if: inputs.write-cache != 'true'
|
||||
id: cache-restore
|
||||
with:
|
||||
|
||||
@@ -91,9 +91,6 @@
|
||||
- name: "A-Modules"
|
||||
description: "Module system related"
|
||||
color: "bfd4f2"
|
||||
- name: "A-New-Search-Experience"
|
||||
description: "The new search dialog available in Labs"
|
||||
color: "bfd4f2"
|
||||
- name: "A-Packaging"
|
||||
description: "Packaging, signing, releasing"
|
||||
color: "bfd4f2"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
_extends: matrix-org/matrix-js-sdk
|
||||
version-resolver:
|
||||
default: patch
|
||||
# Exclude modules releases
|
||||
tag-prefix: v
|
||||
|
||||
+32
-3
@@ -11,15 +11,25 @@
|
||||
"matchDepTypes": ["testcontainers-docker"],
|
||||
"matchPackageNames": ["*"]
|
||||
},
|
||||
{
|
||||
"description": "Group all pnpm updates",
|
||||
"groupName": "pnpm",
|
||||
"groupSlug": "pnpm",
|
||||
"matchPackageNames": ["pnpm", "ghcr.io/pnpm/pnpm"]
|
||||
},
|
||||
{
|
||||
"description": "Separate updates to overrides from other groups",
|
||||
"matchDepTypes": ["pnpm.overrides"],
|
||||
"matchManagers": ["npm"],
|
||||
"matchFileNames": ["pnpm-workspace.yaml"],
|
||||
"matchDepTypes": ["pnpm-workspace.overrides"],
|
||||
"groupSlug": null
|
||||
},
|
||||
{
|
||||
"description": "Disable any major updates to overrides as this almost always is wrong",
|
||||
"matchDepTypes": ["pnpm.overrides"],
|
||||
"matchUpdateTypes": ["major"],
|
||||
"matchManagers": ["npm"],
|
||||
"matchFileNames": ["pnpm-workspace.yaml"],
|
||||
"matchDepTypes": ["pnpm-workspace.overrides"],
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
@@ -41,6 +51,25 @@
|
||||
"matchStrings": ["hakDependencies.$each(function($v, $k) { { 'packageName': $k, 'currentValue': $v } })"],
|
||||
"datasourceTemplate": "npm",
|
||||
"depTypeTemplate": "hak"
|
||||
},
|
||||
{
|
||||
"description": "Update pnpm in devEngines",
|
||||
"customType": "jsonata",
|
||||
"fileFormat": "json",
|
||||
"managerFilePatterns": ["/(^|/)package\\.json$/"],
|
||||
"matchStrings": [
|
||||
"devEngines.packageManager.name = 'pnpm' ? { 'currentValue': devEngines.packageManager.version } : null"
|
||||
],
|
||||
"depNameTemplate": "pnpm",
|
||||
"datasourceTemplate": "npm",
|
||||
"depTypeTemplate": "devengines"
|
||||
}
|
||||
]
|
||||
],
|
||||
"toolSettings": {
|
||||
"nodeMaxMemory": 2048
|
||||
},
|
||||
"env": {
|
||||
"PNPM_MAX_WORKERS": "2",
|
||||
"PNPM_WORKERS": "2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
name: Release module
|
||||
run-name: Release modules
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "module/*/v*.*.*"
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Build and release module
|
||||
runs-on: ubuntu-24.04
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Parse tag
|
||||
env:
|
||||
TAG: ${{ github.ref_name }}
|
||||
run: |
|
||||
MODULE=$(echo "$TAG" | cut -d'/' -f2)
|
||||
VERSION=$(echo "$TAG" | cut -d'/' -f3)
|
||||
echo "MODULE=$MODULE" >> "$GITHUB_ENV"
|
||||
echo "VERSION=$VERSION" >> "$GITHUB_ENV"
|
||||
echo "TAG=$TAG" >> "$GITHUB_ENV"
|
||||
echo "ARCHIVE=${MODULE}-${VERSION}.zip" >> "$GITHUB_ENV"
|
||||
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
|
||||
|
||||
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
|
||||
with:
|
||||
cache: "pnpm"
|
||||
node-version: "lts/*"
|
||||
|
||||
- name: Install deps
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Build
|
||||
run: pnpm --filter "./modules/$MODULE" run build
|
||||
|
||||
- name: Create archive
|
||||
run: zip -r "$ARCHIVE" -j "modules/$MODULE/lib"
|
||||
|
||||
- name: Create GitHub release
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh release create "$TAG" \
|
||||
--title "$VERSION $MODULE" \
|
||||
--draft \
|
||||
--latest=false \
|
||||
"$ARCHIVE"
|
||||
@@ -0,0 +1,47 @@
|
||||
# Triggers after the shared component storybook has finished building,
|
||||
# taking the artifact and uploading it to Netlify for easier viewing
|
||||
name: Upload Shared Component Storybook to Netlify
|
||||
on:
|
||||
# Privilege escalation necessary to deploy to Netlify
|
||||
# 🚨 We must not execute any checked out code here.
|
||||
workflow_run: # zizmor: ignore[dangerous-triggers]
|
||||
workflows: ["Build shared component storybook"]
|
||||
types:
|
||||
- completed
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }}
|
||||
cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }}
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
report:
|
||||
if: github.event.workflow_run.conclusion != 'cancelled' && github.event.workflow_run.event == 'pull_request'
|
||||
name: Upload Storybook
|
||||
runs-on: ubuntu-24.04
|
||||
environment: Netlify
|
||||
permissions:
|
||||
actions: read
|
||||
deployments: write
|
||||
steps:
|
||||
- name: 📥 Download artifact
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
run-id: ${{ github.event.workflow_run.id }}
|
||||
name: shared-components-storybook
|
||||
path: storybook-static
|
||||
|
||||
- name: 📤 Deploy to Netlify
|
||||
uses: matrix-org/netlify-pr-preview@9805cd123fc9a7e421e35340a05e1ebc5dee46b5 # v3
|
||||
with:
|
||||
path: storybook-static
|
||||
owner: ${{ github.event.workflow_run.head_repository.owner.login }}
|
||||
branch: ${{ github.event.workflow_run.head_branch }}
|
||||
revision: ${{ github.event.workflow_run.head_sha }}
|
||||
token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
||||
site_id: ${{ vars.NETLIFY_SITE_ID }}
|
||||
desc: Shared Component Storybook
|
||||
deployment_env: SharedComponentStorybook
|
||||
prefix: "storybook-"
|
||||
Reference in New Issue
Block a user