Skip to content

Commit

Permalink
Merge tag 'v1.11.25' into sc
Browse files Browse the repository at this point in the history
* Remove experimental PWA support for Firefox and Safari ([\#24630](element-hq/element-web#24630)).
* Only allow to start a DM with one email if encryption by default is enabled ([\#10253](matrix-org/matrix-react-sdk#10253)). Fixes element-hq/element-web#23133.
* DM rooms are now encrypted if encryption by default is enabled and only inviting a single email address. Any action in the result DM room will be blocked until the other has joined. ([\#10229](matrix-org/matrix-react-sdk#10229)).
* Reduce bottom margin of ReplyChain on compact modern layout ([\#8972](matrix-org/matrix-react-sdk#8972)). Fixes element-hq/element-web#22748. Contributed by @luixxiul.
* Support for v2 of MSC3903 ([\#10165](matrix-org/matrix-react-sdk#10165)). Contributed by @hughns.
* When starting a DM, existing rooms with pending third-party invites will be reused. ([\#10256](matrix-org/matrix-react-sdk#10256)). Fixes element-hq/element-web#23139.
* Polls push rules: synchronise poll rules with message rules ([\#10263](matrix-org/matrix-react-sdk#10263)). Contributed by @kerryarchibald.
* New verification request toast button labels ([\#10259](matrix-org/matrix-react-sdk#10259)).
* Remove padding around integration manager iframe ([\#10148](matrix-org/matrix-react-sdk#10148)).
* Fix block code styling in rich text editor ([\#10246](matrix-org/matrix-react-sdk#10246)). Contributed by @alunturner.
* Poll history: fetch more poll history ([\#10235](matrix-org/matrix-react-sdk#10235)). Contributed by @kerryarchibald.
* Sort short/exact emoji matches before longer incomplete matches ([\#10212](matrix-org/matrix-react-sdk#10212)). Fixes element-hq/element-web#23210. Contributed by @grimhilt.
* Poll history: detail screen ([\#10172](matrix-org/matrix-react-sdk#10172)). Contributed by @kerryarchibald.
* Provide a more detailed error message than "No known servers" ([\#6048](matrix-org/matrix-react-sdk#6048)). Fixes element-hq/element-web#13247. Contributed by @aaronraimist.
* Say when a call was answered from a different device ([\#10224](matrix-org/matrix-react-sdk#10224)).
* Widget permissions customizations using module api ([\#10121](matrix-org/matrix-react-sdk#10121)). Contributed by @maheichyk.
* Fix copy button icon overlapping with copyable text ([\#10227](matrix-org/matrix-react-sdk#10227)). Contributed by @Adesh-Pandey.
* Support joining non-peekable rooms via the module API ([\#10154](matrix-org/matrix-react-sdk#10154)). Contributed by @maheichyk.
* The "new login" toast does now display the same device information as in the settings. "No" does now open the device settings. "Yes, it was me" dismisses the toast. ([\#10200](matrix-org/matrix-react-sdk#10200)).
* Do not prompt for a password when doing a „reset all“ after login ([\#10208](matrix-org/matrix-react-sdk#10208)).
* Fix macOS notarisation using keychain credentials ([\element-hq#557](element-hq#557)).
* Let electron-builder correctly set StartupWMClass ([\element-hq#526](element-hq#526)). Fixes element-hq/element-web#13780.
* Fix incorrect copy in space creation flow ([\#10296](matrix-org/matrix-react-sdk#10296)). Fixes element-hq/element-web#24741.
* Fix space settings dialog having rogue title tooltip ([\#10293](matrix-org/matrix-react-sdk#10293)). Fixes element-hq/element-web#24740.
* Show spinner when starting a DM from the user profile (right panel) ([\#10290](matrix-org/matrix-react-sdk#10290)).
* Reduce height of toggle on expanded view source event ([\#10283](matrix-org/matrix-react-sdk#10283)). Fixes element-hq/element-web#22873. Contributed by @luixxiul.
* Pillify http and non-prefixed matrix.to links ([\#10277](matrix-org/matrix-react-sdk#10277)). Fixes element-hq/element-web#20844.
* Fix some features not being configurable via `features` ([\#10276](matrix-org/matrix-react-sdk#10276)).
* Fix starting a DM from the right panel in some cases ([\#10278](matrix-org/matrix-react-sdk#10278)). Fixes element-hq/element-web#24722.
* Align info EventTile and normal EventTile on IRC layout ([\#10197](matrix-org/matrix-react-sdk#10197)). Fixes element-hq/element-web#22782. Contributed by @luixxiul.
* Fix blowout of waveform of the voice message player on narrow UI ([\#8861](matrix-org/matrix-react-sdk#8861)). Fixes element-hq/element-web#22604. Contributed by @luixxiul.
* Fix the hidden view source toggle on IRC layout ([\#10266](matrix-org/matrix-react-sdk#10266)). Fixes element-hq/element-web#22872. Contributed by @luixxiul.
* Fix buttons on the room header being compressed due to long room name ([\#10155](matrix-org/matrix-react-sdk#10155)). Contributed by @luixxiul.
* Use the room avatar as a placeholder in calls ([\#10231](matrix-org/matrix-react-sdk#10231)).
* Fix calls showing as 'connecting' after hangup ([\#10223](matrix-org/matrix-react-sdk#10223)).
* Prevent multiple Jitsi calls started at the same time ([\#10183](matrix-org/matrix-react-sdk#10183)). Fixes element-hq/element-web#23009.
* Make localization keys compatible with agglutinative and/or SOV type languages ([\#10159](matrix-org/matrix-react-sdk#10159)). Contributed by @luixxiul.
  • Loading branch information
su-ex committed Mar 15, 2023
2 parents 2fbbcb8 + 34ccea0 commit e83607d
Show file tree
Hide file tree
Showing 20 changed files with 1,069 additions and 732 deletions.
22 changes: 22 additions & 0 deletions .eslintrc-hak.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module.exports = {
plugins: ["matrix-org"],
extends: [".eslintrc.js"],
parserOptions: {
project: ["hak/tsconfig.json"],
},
overrides: [
{
files: ["hak/**/*.ts"],
extends: ["plugin:matrix-org/typescript"],
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",

"@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
},
},
],
};
22 changes: 22 additions & 0 deletions .eslintrc-scripts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module.exports = {
plugins: ["matrix-org"],
extends: [".eslintrc.js"],
parserOptions: {
project: ["scripts/tsconfig.json"],
},
overrides: [
{
files: ["scripts/**/*.ts"],
extends: ["plugin:matrix-org/typescript"],
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",

"@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
},
},
],
};
22 changes: 22 additions & 0 deletions .eslintrc-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module.exports = {
plugins: ["matrix-org"],
extends: [".eslintrc.js"],
parserOptions: {
project: ["test/tsconfig.json"],
},
overrides: [
{
files: ["test/**/*.ts"],
extends: ["plugin:matrix-org/typescript"],
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",

"@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
},
},
],
};
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ module.exports = {
extends: ["plugin:matrix-org/javascript"],
parserOptions: {
ecmaVersion: 2021,
project: ["tsconfig.json"],
},
env: {
es6: true,
Expand All @@ -20,7 +21,7 @@ module.exports = {
},
overrides: [
{
files: ["{src,scripts,hak}/**/*.{ts,tsx}"],
files: ["src/**/*.ts"],
extends: ["plugin:matrix-org/typescript"],
rules: {
// Things we do that break the ideal style
Expand Down
225 changes: 131 additions & 94 deletions .github/workflows/build_and_deploy.yaml
Original file line number Diff line number Diff line change
@@ -1,105 +1,142 @@
name: Build and Deploy
on:
# Nightly build
schedule:
- cron: '0 9 * * *'
# Manual nightly & release
workflow_dispatch:
inputs:
mode:
description: What type of build to trigger. Release builds should be ran from the `master` branch.
required: true
default: nightly
type: choice
options:
- nightly
- release
macos:
description: Whether to build macOS
required: true
type: boolean
default: true
linux:
description: Whether to build Linux
required: true
type: boolean
default: true
deploy:
description: Whether to deploy artifacts
required: true
type: boolean
default: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# Nightly build
schedule:
- cron: "0 9 * * *"
# Manual nightly & release
workflow_dispatch:
inputs:
mode:
description: What type of build to trigger. Release builds MUST be ran from the `master` branch.
required: true
default: nightly
type: choice
options:
- nightly
- release
macos:
description: Build macOS
required: true
type: boolean
default: true
windows_32bit:
description: Build Windows 32-bit
required: true
type: boolean
default: true
windows_64bit:
description: Build Windows 64-bit
required: true
type: boolean
default: true
linux:
description: Build Linux
required: true
type: boolean
default: true
deploy:
description: Deploy artifacts
required: true
type: boolean
default: true
concurrency: ${{ github.workflow }}
env:
# XXX: UPDATE THIS BEFORE WHEN GOING LIVE
R2_BUCKET: 'packages-element-io-test'
# XXX: UPDATE THIS BEFORE WHEN GOING LIVE
R2_BUCKET: "packages-element-io-test"
jobs:
prepare:
uses: ./.github/workflows/build_prepare.yaml
with:
config: element.io/${{ inputs.mode || 'nightly' }}
version: ${{ inputs.mode == 'release' && '' || 'develop' }}
calculate-nightly-versions: ${{ inputs.mode != 'release' }}
secrets:
CF_R2_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
CF_R2_TOKEN: ${{ secrets.CF_R2_TOKEN }}
CF_R2_S3_API: ${{ secrets.CF_R2_S3_API }}
prepare:
uses: ./.github/workflows/build_prepare.yaml
with:
config: element.io/${{ inputs.mode || 'nightly' }}
version: ${{ inputs.mode == 'release' && '' || 'develop' }}
calculate-nightly-versions: ${{ inputs.mode != 'release' }}
secrets:
CF_R2_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
CF_R2_TOKEN: ${{ secrets.CF_R2_TOKEN }}
CF_R2_S3_API: ${{ secrets.CF_R2_S3_API }}

macos:
if: github.event_name != 'workflow_dispatch' || inputs.macos
needs: prepare
name: macOS
uses: ./.github/workflows/build_macos.yaml
secrets: inherit
with:
sign: true
deploy-mode: true
base-url: https://packages.element.io/${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}
version: ${{ needs.prepare.outputs.macos-version }}
windows_32bit:
if: github.event_name != 'workflow_dispatch' || inputs.windows_32bit
needs: prepare
name: Windows 32-bit
uses: ./.github/workflows/build_windows.yaml
secrets: inherit
with:
sign: true
deploy-mode: true
arch: x86
version: ${{ needs.prepare.outputs.win32-x86-version }}

linux:
if: github.event_name != 'workflow_dispatch' || inputs.linux
needs: prepare
name: Linux
uses: ./.github/workflows/build_linux.yaml
secrets: inherit
with:
sqlcipher: system
deploy-mode: true
version: ${{ needs.prepare.outputs.linux-version }}
windows_64bit:
if: github.event_name != 'workflow_dispatch' || inputs.windows_64bit
needs: prepare
name: Windows 64-bit
uses: ./.github/workflows/build_windows.yaml
secrets: inherit
with:
sign: true
deploy-mode: true
arch: x64
version: ${{ needs.prepare.outputs.win32-x64-version }}

deploy:
needs:
- macos
runs-on: ubuntu-latest
name: Deploy
if: always() && (github.event != 'workflow_dispatch' || inputs.deploy)
environment: packages.element.io
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
macos:
if: github.event_name != 'workflow_dispatch' || inputs.macos
needs: prepare
name: macOS
uses: ./.github/workflows/build_macos.yaml
secrets: inherit
with:
name: packages.element.io
path: packages.element.io
sign: true
deploy-mode: true
# XXX: UPDATE THIS BEFORE WHEN GOING LIVE
base-url: https://packages-element-io-test.element.io/${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}
version: ${{ needs.prepare.outputs.macos-version }}

- name: Deploy debian repo
linux:
if: github.event_name != 'workflow_dispatch' || inputs.linux
run: |
mv packages.element.io/debian .
aws s3 cp --recursive debian/ s3://$R2_BUCKET/debian --endpoint-url $R2_URL --region auto
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
R2_URL: ${{ secrets.CF_R2_S3_API }}
needs: prepare
name: Linux
uses: ./.github/workflows/build_linux.yaml
with:
sqlcipher: system
version: ${{ needs.prepare.outputs.linux-version }}

- name: Deploy artifacts
if: github.event_name != 'workflow_dispatch' || inputs.macos
run: |
aws s3 cp --recursive packages.element.io/ s3://$R2_BUCKET/$DEPLOYMENT_DIR --endpoint-url $R2_URL --region auto
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
R2_URL: ${{ secrets.CF_R2_S3_API }}
DEPLOYMENT_DIR: ${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}
# This deploy job only handles Windows & macOS as those are stateless and static.
# Linux will be deployed via reprepro after it, but we list it as a dependency to abort if it fails.
deploy:
needs:
- macos
- linux
- windows_32bit
- windows_64bit
runs-on: ubuntu-latest
name: Deploy
if: github.event != 'workflow_dispatch' || (inputs.deploy && (inputs.macos || inputs.windows_32bit || inputs.windows_64bit))
environment: packages.element.io
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: packages.element.io
path: packages.element.io

- name: Deploy artifacts
run: |
aws s3 cp --recursive packages.element.io/ s3://$R2_BUCKET/$DEPLOYMENT_DIR --endpoint-url $R2_URL --region auto
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
R2_URL: ${{ secrets.CF_R2_S3_API }}
DEPLOYMENT_DIR: ${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}

reprepro:
needs:
- linux
# We queue this after the other deploy stage as we want to abort if that fails
- deploy
name: Run reprepro
if: github.event != 'workflow_dispatch' || (inputs.deploy && inputs.linux)
uses: ./.github/workflows/reprepro.yaml
secrets: inherit
with:
artifact-name: linux-sqlcipher-system
Loading

0 comments on commit e83607d

Please sign in to comment.