8000 4.73.0 Release by Stream-SDK-Bot · Pull Request #766 · GetStream/stream-chat-swiftui · GitHub
[go: up one dir, main page]

Skip to content

4.73.0 Release #766

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Feb 28, 2025
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
11 changes: 0 additions & 11 deletions .github/actions/python-cache/action.yml

This file was deleted.

39 changes: 17 additions & 22 deletions .github/workflows/cron-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,6 @@ jobs:
- name: Allure TestOps Launch Removal
if: cancelled()
run: bundle exec fastlane allure_launch_removal launch_id:$LAUNCH_ID
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "${{ github.workflow }}: ${{ github.job }}"
fields: message,commit,author,action,workflow,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
if: failure() && github.event_name == 'schedule'
- name: Parse xcresult
if: failure()
run: |
Expand Down Expand Up @@ -137,19 +127,9 @@ jobs:
run: bundle exec fastlane build_demo
env:
XCODE_VERSION: ${{ matrix.xcode }}
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "${{ github.workflow }}: ${{ github.job }}"
fields: message,commit,author,action,workflow,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
if: failure() && github.event_name == 'schedule'

build-xcode15:
name: Build SDKs (Xcode 15.0)
build-old-xcode:
name: Build SDKs (Xcode 15)
runs-on: macos-15
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
env:
Expand Down Expand Up @@ -185,3 +165,18 @@ jobs:
- run: bundle exec fastlane rubocop
- run: ./Scripts/run-linter.sh
- run: bundle exec fastlane pod_lint

slack:
name: Slack Report
runs-on: ubuntu-latest
needs: [test-e2e-debug, build-test-app-and-frameworks, build-apps, build-old-xcode, automated-code-review]
if: failure() && github.event_name == 'schedule'
steps:
- uses: 8398a7/action-slack@v3
with:
status: cancelled
text: "You shall not pass!"
job_name: "${{ github.workflow }}: ${{ github.job }}"
fields: repo,commit,author,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_NIGHTLY_CHECKS }}
15 changes: 15 additions & 0 deletions .github/workflows/record-snapshots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Record Snapshots

on:
workflow_dispatch:

jobs:
record:
name: Record
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- run: gh workflow run smoke-checks.yml --ref "${GITHUB_REF#refs/heads/}" -f record_snapshots=true
timeout-minutes: 5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79 changes: 0 additions & 79 deletions .github/workflows/smoke-checks-swiftui.yml

This file was deleted.

53 changes: 53 additions & 0 deletions .github/workflows/smoke-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ on:
- 'CHANGELOG.md'

workflow_dispatch:
inputs:
record_snapshots:
description: 'Record snapshots on CI?'
type: boolean
required: false
default: false

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down Expand Up @@ -41,6 +47,7 @@ jobs:
automated-code-review:
name: Automated Code Review
runs-on: macos-15
if: ${{ github.event.inputs.record_snapshots != 'true' }}
env:
XCODE_VERSION: "15.4"
steps:
Expand All @@ -59,6 +66,7 @@ jobs:
build-xcode15:
name: Build SDKs (Xcode 15.0)
runs-on: macos-15
if: ${{ github.event.inputs.record_snapshots != 'true' }}
env:
XCODE_VERSION: "15.4"
steps:
Expand All @@ -81,9 +89,52 @@ jobs:
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}

test-ui-debug:
name: Test SwiftUI (Debug)
runs-on: macos-15
steps:
- uses: actions/checkout@v4.1.1
- uses: ./.github/actions/bootstrap
env:
INSTALL_YEETD: true
INSTALL_SONAR: true
- name: Run UI Tests (Debug)
run: bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:"${{ github.event.inputs.record_snapshots }}"
timeout-minutes: 120
env:
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
- name: Run Sonar analysis
BE2E if: ${{ github.event.inputs.snapshots != 'true' }}
run: bundle exec fastlane sonar_upload
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Parse xcresult
if: failure()
run: |
brew install chargepoint/xcparse/xcparse
xcparse logs fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/logs/
xcparse screenshots fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/snapshots --test
- uses: actions/upload-artifact@v4
if: failure()
with:
name: Test Data UI
path: |
fastlane/recordings
fastlane/sinatra_log.txt
fastlane/test_output/snapshots
fastlane/test_output/logs/*/Diagnostics/**/*.txt
fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/*
- name: Upload Test Coverage
uses: actions/upload-artifact@v4
with:
name: test-coverage-${{ github.event.pull_request.number }}
path: reports/sonarqube-generic-coverage.xml

allure_testops_launch:
name: Launch Allure TestOps
runs-on: macos-13
if: ${{ github.event.inputs.record_snapshots != 'true' }}
needs: build-test-app-and-frameworks
outputs:
launch_id: ${{ steps.get_launch_id.outputs.launch_id }}
Expand All @@ -102,6 +153,7 @@ jobs:
test-e2e-debug:
name: Test E2E UI (Debug)
runs-on: macos-15
if: ${{ github.event.inputs.record_snapshots != 'true' }}
needs:
- allure_testops_launch
- build-test-app-and-frameworks
Expand Down Expand Up @@ -156,6 +208,7 @@ jobs:
build-apps:
name: Build Demo App
runs-on: macos-14
if: ${{ github.event.inputs.record_snapshots != 'true' }}
needs: build-test-app-and-frameworks
steps:
- uses: actions/checkout@v4.1.1
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Sonar

on:
push:
branches:
- develop

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
sonar:
runs-on: macos-15
steps:
- uses: actions/checkout@v4.1.1

- uses: actions/github-script@v6
id: get_pr_data
with:
script: |
return (
await github.rest.repos.listPullRequestsAssociatedWithCommit({
commit_sha: context.sha,
owner: context.repo.owner,
repo: context.repo.repo,
})
).data[0];

- uses: ./.github/actions/bootstrap
env:
INSTALL_SONAR: true
SKIP_MINT_BOOTSTRAP: true

- name: Run Sonar analysis
run: |
ARTIFACT_NAME="test-coverage-${{ fromJson(steps.get_pr_data.outputs.result).number }}"
ARTIFACT=$(gh api repos/${{ github.repository }}/actions/artifacts | jq -r ".artifacts | map(select(.name==\"$ARTIFACT_NAME\")) | first")
if [[ "$ARTIFACT" == null || "$ARTIFACT" == "" ]]; then
echo "Artifact not found. Skipping Sonar analysis."
else
gh run download $(echo $ARTIFACT | jq .workflow_run.id) -n "$ARTIFACT_NAME" -D reports
bundle exec fastlane sonar_upload
fi
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
3 changes: 1 addition & 2 deletions .github/workflows/testflight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ jobs:
with:
status: ${{ job.status }}
text: "You shall not pass!"
fields: message,commit,author,action,workflow,job,took
fields: repo,commit,author,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
if: failure()
3 changes: 1 addition & 2 deletions .github/workflows/update-copyright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ jobs:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "${{ github.workflow }}: ${{ github.job }}"
fields: message,commit,author,action,workflow,job,took
fields: repo,commit,author,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
if: failure()
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,28 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

### 🔄 Changed

# [4.73.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.73.0)
_February 28, 2025_

### ✅ Added
- Add `Utils.MessageListConfig.bouncedMessagesAlertActionsEnabled` to support bounced actions alert [#764](https://github.com/GetStream/stream-chat-swiftui/pull/764)
- Add `ViewFactory.makeBouncedMessageActionsModifier()` to customize the new bounced actions alert [#764](https://github.com/GetStream/stream-chat-swiftui/pull/764)
### 🐞 Fixed
- Fix visibility of tabbar when reactions are shown [#750](https://github.com/GetStream/stream-chat-swiftui/pull/750)
- Show all members in direct message channel info view [#760](https://github.com/GetStream/stream-chat-swiftui/pull/760)
### 🔄 Changed
- Only show "Pin/Unpin message" Action if user has permission [#749](https://github.com/GetStream/stream-chat-swiftui/pull/749)
- Filter deactivated users in channel info view [#758](https://github.com/GetStream/stream-chat-swiftui/pull/758)
- Bounced message actions will now be shown as an alert instead of a context menu by default [#764](https://github.com/GetStream/stream-chat-swiftui/pull/764)
### 🎭 New Localizations
Add localizable keys for supporting moderation alerts:
- `message.moderation.alert.title`
- `message.moderation.alert.message`
- `message.moderation.alert.resend`
- `message.moderation.alert.edit`
- `message.moderation.alert.delete`
- `message.moderation.alert.cancel`

# [4.72.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.72.0)
_February 04, 2025_

Expand Down
1 change: 1 addition & 0 deletions DemoAppSwiftUI/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ class AppDelegate: NSObject, UIApplicationDelegate {
messageListConfig: MessageListConfig(
dateIndicatorPlacement: .messageList,
userBlockingEnabled: true,
bouncedMessagesAlertActionsEnabled: true,
skipEditedMessageLabel: { message in
message.extraData["ai_generated"]?.boolValue == true
}
Expand Down
6 changes: 3 additions & 3 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ GEM
method_source (1.1.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
mini_portile2 (2.8.7)
mini_portile2 (2.8.8)
minitest (5.25.1)
molinillo (0.8.0)
multi_json (1.15.0)
Expand All @@ -289,7 +289,7 @@ GEM
netrc (0.11.0)
nio4r (2.7.3)
nkf (0.2.0)
nokogiri (1.16.7)
nokogiri (1.18.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octokit (9.1.0)
Expand All @@ -310,7 +310,7 @@ GEM
puma (6.4.3)
nio4r (~> 2.0)
racc (1.8.1)
rack (3.1.8)
rack (3.1.10)
rack-protection (4.1.0)
base64 (>= 0.1.0)
logger (>= 1.6.0)
Expand Down
Loading
Loading
0