Skip to content

Commit

Permalink
Merge tag 'v1.11.23' into sc
Browse files Browse the repository at this point in the history
* Description of QR code sign in labs feature ([\#23513](element-hq/element-web#23513)). Contributed by @hughns.
* Add option to find own location in map views ([\#10083](matrix-org/matrix-react-sdk#10083)).
* Render poll end events in timeline ([\#10027](matrix-org/matrix-react-sdk#10027)). Contributed by @kerryarchibald.
* Indicate unread messages in tab title ([\#10096](matrix-org/matrix-react-sdk#10096)). Contributed by @tnt7864.
* Open message in editing mode when keyboard up is pressed (RTE) ([\#10079](matrix-org/matrix-react-sdk#10079)). Contributed by @florianduros.
* Hide superseded rooms from the room list using dynamic room predecessors ([\#10068](matrix-org/matrix-react-sdk#10068)). Contributed by @andybalaam.
* Support MSC3946 in RoomListStore ([\#10054](matrix-org/matrix-react-sdk#10054)). Fixes element-hq/element-web#24325. Contributed by @andybalaam.
* Auto focus security key field ([\#10048](matrix-org/matrix-react-sdk#10048)).
* use Poll model with relations API in poll rendering ([\#9877](matrix-org/matrix-react-sdk#9877)). Contributed by @kerryarchibald.
* Support MSC3946 in the RoomCreate tile ([\#10041](matrix-org/matrix-react-sdk#10041)). Fixes element-hq/element-web#24323. Contributed by @andybalaam.
* Update labs flag description for RTE ([\#10058](matrix-org/matrix-react-sdk#10058)). Contributed by @florianduros.
* Change ul list style to disc when editing message ([\#10043](matrix-org/matrix-react-sdk#10043)). Contributed by @alunturner.
* Improved click detection within PiP windows ([\#10040](matrix-org/matrix-react-sdk#10040)). Fixes element-hq/element-web#24371.
* Add RTE keyboard navigation in editing ([\#9980](matrix-org/matrix-react-sdk#9980)). Fixes element-hq/element-web#23621. Contributed by @florianduros.
* Paragraph integration for rich text editor ([\#10008](matrix-org/matrix-react-sdk#10008)). Contributed by @alunturner.
* Add  indentation increasing/decreasing to RTE ([\#10034](matrix-org/matrix-react-sdk#10034)). Contributed by @florianduros.
* Add ignore user confirmation dialog ([\#6116](matrix-org/matrix-react-sdk#6116)). Fixes element-hq/element-web#14746.
* Use monospace font for room, message IDs in View Source modal ([\#9956](matrix-org/matrix-react-sdk#9956)). Fixes element-hq/element-web#21937. Contributed by @paragpoddar.
* Implement MSC3946 for AdvancedRoomSettingsTab ([\#9995](matrix-org/matrix-react-sdk#9995)). Fixes element-hq/element-web#24322. Contributed by @andybalaam.
* Implementation of MSC3824 to make the client OIDC-aware ([\#8681](matrix-org/matrix-react-sdk#8681)). Contributed by @hughns.
* Improves a11y for avatar uploads ([\#9985](matrix-org/matrix-react-sdk#9985)). Contributed by @GoodGuyMarco.
* Add support for [token authenticated registration](https ([\#7275](matrix-org/matrix-react-sdk#7275)). Fixes element-hq/element-web#18931. Contributed by @govynnus.
* Update to Electron 22.2.0 - fix tray icons in Linux ([\element-hq#530](element-hq#530)). Fixes element-hq/element-web#23993.
* Jitsi requests 'requires_client' capability if auth token is provided ([\#24294](element-hq/element-web#24294)). Contributed by @maheichyk.
* Remove duplicate white space characters from translation keys ([\#10152](matrix-org/matrix-react-sdk#10152)). Contributed by @luixxiul.
* Fix the caption of new sessions manager on Labs settings page for localization ([\#10143](matrix-org/matrix-react-sdk#10143)). Contributed by @luixxiul.
* Prevent start another DM with a user if one already exists ([\#10127](matrix-org/matrix-react-sdk#10127)). Fixes element-hq/element-web#23138.
* Remove white space characters before the horizontal ellipsis ([\#10130](matrix-org/matrix-react-sdk#10130)). Contributed by @luixxiul.
* Fix Selectable Text on 'Delete All' and 'Retry All' Buttons ([\#10128](matrix-org/matrix-react-sdk#10128)). Fixes element-hq/element-web#23232. Contributed by @akshattchhabra.
* Correctly Identify emoticons ([\#10108](matrix-org/matrix-react-sdk#10108)). Fixes element-hq/element-web#19472. Contributed by @adarsh-sgh.
* Should open new 1:1 chat room after leaving the old one ([\#9880](matrix-org/matrix-react-sdk#9880)). Contributed by @ahmadkadri.
* Remove a redundant white space ([\#10129](matrix-org/matrix-react-sdk#10129)). Contributed by @luixxiul.
* Fix a crash when removing persistent widgets (updated) ([\#10099](matrix-org/matrix-react-sdk#10099)). Fixes element-hq/element-web#24412. Contributed by @andybalaam.
* Fix wrongly grouping 3pid invites into a single repeated transition ([\#10087](matrix-org/matrix-react-sdk#10087)). Fixes element-hq/element-web#24432.
* Fix scrollbar colliding with checkbox in add to space section ([\#10093](matrix-org/matrix-react-sdk#10093)). Fixes element-hq/element-web#23189. Contributed by @Arnabdaz.
* Add a whitespace character after 'broadcast?' ([\#10097](matrix-org/matrix-react-sdk#10097)). Contributed by @luixxiul.
* Seekbar in broadcast PiP view is now updated when switching between different broadcasts ([\#10072](matrix-org/matrix-react-sdk#10072)). Fixes element-hq/element-web#24415.
* Add border to "reject" button on room preview card for clickable area indication. It fixes element-hq/element-web#22623 ([\#9205](matrix-org/matrix-react-sdk#9205)). Contributed by @gefgu.
* Element-R: fix rageshages ([\#10081](matrix-org/matrix-react-sdk#10081)). Fixes element-hq/element-web#24430.
* Fix markdown paragraph display in timeline ([\#10071](matrix-org/matrix-react-sdk#10071)). Fixes element-hq/element-web#24419. Contributed by @alunturner.
* Prevent the remaining broadcast time from being exceeded ([\#10070](matrix-org/matrix-react-sdk#10070)).
* Fix cursor position when new line is created by pressing enter (RTE) ([\#10064](matrix-org/matrix-react-sdk#10064)). Contributed by @florianduros.
* Ensure room is actually in space hierarchy when resolving its latest version ([\#10010](matrix-org/matrix-react-sdk#10010)).
* Fix new line for inline code ([\#10062](matrix-org/matrix-react-sdk#10062)). Contributed by @florianduros.
* Member avatars without canvas ([\#9990](matrix-org/matrix-react-sdk#9990)). Contributed by @clarkf.
* Apply more general fix for base avatar regressions ([\#10045](matrix-org/matrix-react-sdk#10045)). Fixes element-hq/element-web#24382 and element-hq/element-web#24370.
* Replace list, code block and quote icons by new icons ([\#10035](matrix-org/matrix-react-sdk#10035)). Contributed by @florianduros.
* fix regional emojis converted to flags ([\#9294](matrix-org/matrix-react-sdk#9294)). Fixes element-hq/element-web#19000. Contributed by @grimhilt.
* resolved emoji description text overflowing issue ([\#10028](matrix-org/matrix-react-sdk#10028)). Contributed by @fahadNoufal.
* Fix MessageEditHistoryDialog crashing on complex input ([\#10018](matrix-org/matrix-react-sdk#10018)). Fixes element-hq/element-web#23665. Contributed by @clarkf.
* Unify unread notification state determination ([\#9941](matrix-org/matrix-react-sdk#9941)). Contributed by @clarkf.
* Fix layout and visual regressions around default avatars ([\#10031](matrix-org/matrix-react-sdk#10031)). Fixes element-hq/element-web#24375 and element-hq/element-web#24369.
* Fix useUnreadNotifications exploding with falsey room, like in notif panel ([\#10030](matrix-org/matrix-react-sdk#10030)). Fixes matrix-org/element-web-rageshakes#19334.
* Fix "[object Promise]" appearing in HTML exports ([\#9975](matrix-org/matrix-react-sdk#9975)). Fixes element-hq/element-web#24272. Contributed by @clarkf.
* changing the color of message time stamp ([\#10016](matrix-org/matrix-react-sdk#10016)). Contributed by @nawarajshah.
* Fix link creation with backward selection ([\#9986](matrix-org/matrix-react-sdk#9986)). Fixes element-hq/element-web#24315. Contributed by @florianduros.
* Misaligned reply preview in thread composer #23396 ([\#9977](matrix-org/matrix-react-sdk#9977)). Fixes element-hq/element-web#23396. Contributed by @mustafa-kapadia1483.
  • Loading branch information
su-ex committed Feb 14, 2023
2 parents bfaf483 + 913a40b commit 474ed4e
Show file tree
Hide file tree
Showing 9 changed files with 468 additions and 13 deletions.
77 changes: 77 additions & 0 deletions .github/workflows/build_and_deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
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
deploy:
description: Whether to deploy artifacts
required: true
type: boolean
default: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
# 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 }}

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 }}

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
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' }}
101 changes: 98 additions & 3 deletions .github/workflows/build_macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,38 @@
# the correct cache scoping, and additional care must be taken to not run untrusted actions on the develop branch.
on:
workflow_call:
secrets:
APPLE_ID:
required: false
APPLE_ID_PASSWORD:
required: false
APPLE_TEAM_ID:
required: false
APPLE_CSC_KEY_PASSWORD:
required: false
APPLE_CSC_LINK:
required: false
inputs:
version:
type: string
required: false
description: "Version string to override the one in package.json, used for non-release builds"
sign:
type: string
required: false
description: "Whether to sign & notarise the build, requires 'packages.element.io' environment"
deploy-mode:
type: string
required: false
description: "Whether to arrange artifacts in the arrangement needed for deployment, skipping unrelated ones"
base-url:
type: string
required: false
description: "The URL to which the output will be deployed, required if deploy-mode is enabled."
jobs:
build:
runs-on: macos-latest
environment: ${{ inputs.sign && 'packages.element.io' || '' }}
steps:
- uses: actions/checkout@v3

Expand Down Expand Up @@ -40,12 +69,78 @@ jobs:
if: steps.cache.outputs.cache-hit != 'true'
run: "yarn build:native:universal"

- name: Build App
run: "yarn build:universal --publish never"
- name: '[Nightly] Resolve version'
id: nightly
if: inputs.version != ''
run: |
echo "config-args=--nightly '${{ inputs.version }}'" >> $GITHUB_OUTPUT
# We split these because electron-builder gets upset if we set CSC_LINK even to an empty string
- name: '[Signed] Build App'
if: inputs.sign != ''
run: |
scripts/generate-builder-config.ts ${{ steps.nightly.outputs.config-args }}
yarn build:universal --publish never --config electron-builder.json
env:
NOTARIZE_APPLE_ID: ${{ secrets.APPLE_ID }}
NOTARIZE_APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
NOTARIZE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.APPLE_CSC_LINK }}

- name: '[Unsigned] Build App'
if: inputs.sign == ''
run: |
scripts/generate-builder-config.ts ${{ steps.nightly.outputs.config-args }}
yarn build:universal --publish never --config electron-builder.json
env:
CSC_IDENTITY_AUTO_DISCOVERY: false

- name: Prepare artifacts for deployment
if: inputs.deploy-mode
run: |
mv dist _dist
mkdir -p dist/install/macos dist/update/macos
mv _dist/*-mac.zip dist/update/macos/
mv _dist/*.dmg dist/install/macos/
PKG_JSON_VERSION=$(cat package.json | jq -r .version)
LATEST=$(find dist -type f -iname "*-mac.zip" | xargs -0 -n1 -- basename)
URL="${{ inputs.base-url }}/update/macos/$LATEST"

jq -n --arg version "${VERSION:-$PKG_JSON_VERSION}" --arg url "$URL" '
{
currentRelease: $version,
releases: [{
version: $version,
updateTo: {
version: $version,
url: $url,
},
}],
}
' > dist/update/macos/releases.json
jq -n --arg url "$URL" '
{ url: $url }
' > dist/update/macos/releases-legacy.json
env:
VERSION: ${{ inputs.version }}
# We don't wish to store the installer for every nightly ever, so we only keep the latest
- name: '[Nightly] Strip version from installer file'
if: inputs.deploy-mode && inputs.version != ''
run: |
mv dist/install/macos/*.dmg "dist/install/macos/Element Nightly.dmg"
- name: '[Release] Prepare release latest symlink'
if: inputs.deploy-mode && inputs.version == ''
run: |
LATEST=$(find dist -type f -iname "*.dmg" | xargs -0 -n1 -- basename)
ln -s "dist/install/macos/$LATEST" dist/install/macos/Element.dmg
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: macos
name: ${{ inputs.deploy-mode && 'packages.element.io' || 'macos' }}
path: dist
retention-days: 1
33 changes: 33 additions & 0 deletions .github/workflows/build_prepare.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# This action helps perform common actions before the build_* actions are started in parallel.
on:
workflow_call:
inputs:
Expand All @@ -9,10 +10,31 @@ on:
type: string
required: false
description: "The version tag to fetch, or 'develop', will pick automatically if not passed"
calculate-nightly-versions:
type: string
required: false
description: "Whether to calculate the version strings new Nightly builds should use"
secrets:
# Required if `calculate-nightly-versions` is set
CF_R2_ACCESS_KEY_ID:
required: false
# Required if `calculate-nightly-versions` is set
CF_R2_TOKEN:
required: false
# Required if `calculate-nightly-versions` is set
CF_R2_S3_API:
required: false
outputs:
macos-version:
description: "The version string the next macOS Nightly should use, only output for calculate-nightly-versions"
value: ${{ jobs.prepare.outputs.macos-version }}
jobs:
prepare:
name: Prepare
environment: ${{ inputs.calculate-nightly-versions && 'packages.element.io' || '' }}
runs-on: ubuntu-latest
outputs:
macos-version: ${{ steps.macos.outputs.version }}
steps:
- uses: actions/checkout@v3

Expand Down Expand Up @@ -41,3 +63,14 @@ jobs:
package.json
electronVersion
hakDependencies.json
- name: Calculate macOS Nightly version
id: macos
if: inputs.calculate-nightly-versions
run: |
LATEST=$(aws s3 cp s3://$R2_BUCKET/nightly/update/macos/releases.json - --endpoint-url $R2_URL --region auto | jq -r .currentRelease)
echo "version=$(scripts/generate-nightly-version.ts --latest $LATEST)" >> $GITHUB_OUTPUT
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 }}
8 changes: 7 additions & 1 deletion .github/workflows/packages_index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,20 @@ on:
branches: [develop]
paths:
- "packages.element.io/**"
# Trigger a daily rebuild for nightlies
# Trigger a daily rebuild for (mac-mini built) Nightly builds
schedule:
- cron: "0 11 * * *"
# Trigger after Nightly builds are deployed
workflow_run:
workflows: [ "Build and Deploy" ]
types:
- completed
# Manual trigger for rebuilding for releases
workflow_dispatch: {}
jobs:
deploy:
name: "Deploy"
if: github.event != 'workflow_run' || github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
environment: packages.element.io
env:
Expand Down
Loading

0 comments on commit 474ed4e

Please sign in to comment.