Skip to content
This repository was archived by the owner on Feb 11, 2026. It is now read-only.
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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sh text eol=lf
74 changes: 52 additions & 22 deletions MERGE_ELEMENT.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,84 @@
# Merge upstream `element-web` into `master`

Pre-requisites
- Review [element-web releases](https://github.com/element-hq/element-web/releases)
- Sync fork [elecordapp/matrix-js-sdk](https://github.com/elecordapp/matrix-js-sdk)
## Pre-requisites

---
1. Review changes in [element-web releases](https://github.com/element-hq/element-web/releases)

1. Create a branch named 'element-v1.xx.xx'
1. Review any changes to the app's [config.json file](https://github.com/element-hq/element-web/blob/master/element.io/app/config.json)

1. Sync js-sdk fork [elecordapp/matrix-js-sdk](https://github.com/elecordapp/matrix-js-sdk)

> [!NOTE]
> Create a [backup branch](https://github.com/elecordapp/matrix-js-sdk/branches) before syncing the upstream

## Merge

1. Create a new branch named `element-v1.xx.xx`

> [!IMPORTANT]
> Run `gitrm.sh` to ensure elecord hasn't added back any upstream files

1. Merge the upstream master branch

> On GitHub desktop:
> - Select 'Choose a branch to merge into element-v1.xx.xx'
> - Select 'upstream/master'
> - Select 'Create a merge commit'
> [!TIP]
> Using GitHub Desktop
> - Select `Choose a branch to merge into element-v1.xx.xx`
> - Select `upstream/master`
> - Select `Create a merge commit`

1. Resolve merge conflicts

> Use branch file
> [!IMPORTANT]
> Run `gitrm.sh` to discount previously removed upstream files

> [!TIP]
> Always use the branch file for...
> - CHANGELOG.md
> - README.md

> Use upstream/master
> <br><br>
>
> Always use the upstream file for...
> - yarn.lock

> Run gitrm.sh
> `git rm --cached -r docs\config.md`
> `git rm --cached -r playwright`
> [!WARNING]
> Don't use the `package.json` branch file, instead resolve merge conflicts as there might be unseen changes

1. Complete the merge process

> Do not use the `package.json` branch file, resolve merge conflicts as there might be unseen changes
## Review

1. Check for any new files added or unwanted changes

1. Run the build locally
> [!NOTE]
> You can amend the merge commit as needed

1. Build the app locally and test

1. Commit the yarn lock 'chore: update yarn.lock'
1. Commit the yarn.lock file `chore: update yarn.lock`

> [!WARNING]
> Only include additions, no local paths or minified package locks

1. Commit any required regression fixes

> Note, any commits made to this branch won't be included in the changelog
> [!NOTE]
> Any commits made to this branch won't be included in the changelog

1. Publish the branch

1. Create a pull request ('Element v1.XX.XX')
## Pull Request

1. Create a pull request named `Element v1.xx.xx`

> Merge upstream Element-web v1.11.xx-yy.
> - Bundles new feature A
> - Adds important feature B

1. Test the app

1. Merge (don’t squash)

> [!IMPORTANT]
> elecord-desktop will also need to be updated
<br>

> [!CAUTION]
> `elecord-desktop` will also need to be updated, simply repeat these steps
124 changes: 124 additions & 0 deletions scripts/gitrm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
git rm --cached -r test/
git rm --cached -r playwright/
git rm --cached -r element.io/
git rm --cached -r docs/
git rm --cached -r docker/
git rm --cached -r debian/
git rm --cached -r mocks/
git rm --cached -r .husky/
git rm --cached sonar-project.properties
git rm --cached playwright.config.ts
git rm --cached jest.config.ts
git rm --cached Dockerfile
git rm --cached CONTRIBUTING.md
git rm --cached config.sample.json
git rm --cached code_style.md
git rm --cached build_config.sample.yaml
git rm --cached book.toml
git rm --cached AUTHORS.rst
git rm --cached .dockerignore
git rm --cached .github/CODEOWNERS
git rm --cached .github/FUNDING.yml
git rm --cached .github/PULL_REQUEST_TEMPLATE.md
git rm --cached .github/labels.yml
git rm --cached .github/release-drafter.yml
git rm --cached .github/renovate.json
git rm --cached -r .github/actions/
git rm --cached -r .github/ISSUE_TEMPLATE/
git rm --cached .github/workflows/backport.yml
git rm --cached .github/workflows/build_debian.yaml
git rm --cached .github/workflows/build_develop.yml
git rm --cached .github/workflows/deploy.yml
git rm --cached .github/workflows/docker.yaml
git rm --cached .github/workflows/docs.yml
git rm --cached .github/workflows/end-to-end-tests-netlify.yaml
git rm --cached .github/workflows/end-to-end-tests.yaml
git rm --cached .github/workflows/issue_closed.yml
git rm --cached .github/workflows/localazy_download.yaml
git rm --cached .github/workflows/localazy_upload.yaml
git rm --cached .github/workflows/netlify.yaml
git rm --cached .github/workflows/pending-reviews.yaml
git rm --cached .github/workflows/playwright-image-updates.yaml
git rm --cached .github/workflows/pull_request.yaml
git rm --cached .github/workflows/pull_request_base_branch.yaml
git rm --cached .github/workflows/release-drafter.yml
git rm --cached .github/workflows/release-gitflow.yml
git rm --cached .github/workflows/release.yml
git rm --cached .github/workflows/release_prepare.yml
git rm --cached .github/workflows/sonarqube.yml
git rm --cached .github/workflows/static_analysis.yaml
git rm --cached .github/workflows/sync-labels.yml
git rm --cached .github/workflows/tests.yml
git rm --cached .github/workflows/triage-assigned.yml
git rm --cached .github/workflows/triage-incoming.yml
git rm --cached .github/workflows/triage-labelled.yml
git rm --cached .github/workflows/triage-move-review-requests.yml
git rm --cached .github/workflows/triage-stale.yml
git rm --cached .github/workflows/triage-unlabelled.yml
git rm --cached .github/workflows/update-jitsi.yml
git rm --cached .github/workflows/update-topics.yaml
git rm --cached -r __mocks__/
git rm --cached knip.ts
git rm --cached developer_guide.md
rm -rf test/
rm -rf playwright/
rm -rf element.io/
rm -rf docs/
rm -rf docker/
rm -rf debian/
rm -rf mocks/
rm -rf .husky/
rm sonar-project.properties
rm playwright.config.ts
rm jest.config.ts
rm Dockerfile
rm CONTRIBUTING.md
rm config.sample.json
rm code_style.md
rm build_config.sample.yaml
rm book.toml
rm AUTHORS.rst
rm .dockerignore
rm .github/CODEOWNERS
rm .github/FUNDING.yml
rm .github/PULL_REQUEST_TEMPLATE.md
rm .github/labels.yml
rm .github/release-drafter.yml
rm .github/renovate.json
rm -rf .github/actions/
rm -rf .github/ISSUE_TEMPLATE/
rm .github/workflows/backport.yml
rm .github/workflows/build_debian.yaml
rm .github/workflows/build_develop.yml
rm .github/workflows/deploy.yml
rm .github/workflows/docker.yaml
rm .github/workflows/docs.yml
rm .github/workflows/end-to-end-tests-netlify.yaml
rm .github/workflows/end-to-end-tests.yaml
rm .github/workflows/issue_closed.yml
rm .github/workflows/localazy_download.yaml
rm .github/workflows/localazy_upload.yaml
rm .github/workflows/netlify.yaml
rm .github/workflows/pending-rfeviews.yaml
rm .github/workflows/playwright-image-updates.yaml
rm .github/workflows/pull_request.yaml
rm .github/workflows/pull_request_base_branch.yaml
rm .github/workflows/release-drafter.yml
rm .github/workflows/release-gitflow.yml
rm .github/workflows/release.yml
rm .github/workflows/release_prepare.yml
rm .github/workflows/sonarqube.yml
rm .github/workflows/static_analysis.yaml
rm .github/workflows/sync-labels.yml
rm .github/workflows/tests.yml
rm .github/workflows/triage-assigned.yml
rm .github/workflows/triage-incoming.yml
rm .github/workflows/triage-labelled.yml
rm .github/workflows/triage-move-rfeview-rfequests.yml
rm .github/workflows/triage-stale.yml
rm .github/workflows/triage-unlabelled.yml
rm .github/workflows/update-jitsi.yml
rm .github/workflows/update-topics.yaml
rm -rf __mocks__/
rm knip.ts
rm developer_guide.md