Skip to content

Commit d547bff

Browse files
committed
Merge branch 'main' into @ksienkiewicz/feat-html-sanitization
2 parents 726b7ea + d04d1df commit d547bff

138 files changed

Lines changed: 2915 additions & 517 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252
- 'apps/example-web/package.json'
5353
- 'apps/example-web/vite.config.ts'
5454
- 'apps/example-web/index.html'
55+
- '.playwright/**'
5556
5657
lint:
5758
runs-on: ubuntu-latest
@@ -86,6 +87,39 @@ jobs:
8687
- name: Run unit tests
8788
run: yarn test --maxWorkers=2 --coverage
8889

90+
test-e2e-web:
91+
needs: [changes]
92+
if: needs.changes.outputs.web == 'true'
93+
runs-on: macos-26
94+
steps:
95+
- name: Checkout
96+
uses: actions/checkout@v4
97+
98+
- name: Setup
99+
uses: ./.github/actions/setup
100+
101+
- name: Cache Playwright browsers
102+
uses: actions/cache@v4
103+
with:
104+
path: ~/Library/Caches/ms-playwright
105+
key: ${{ runner.os }}-playwright-${{ hashFiles('yarn.lock') }}
106+
restore-keys: |
107+
${{ runner.os }}-playwright-
108+
109+
- name: Install Playwright browsers
110+
run: yarn playwright install chromium
111+
112+
- name: Run web e2e tests
113+
run: yarn test:e2e:web
114+
115+
- name: Upload Playwright report
116+
if: failure()
117+
uses: actions/upload-artifact@v4
118+
with:
119+
name: playwright-report
120+
path: .playwright/playwright-report/
121+
retention-days: 7
122+
89123
build-library:
90124
runs-on: ubuntu-latest
91125
steps:
@@ -192,7 +226,7 @@ jobs:
192226
build-ios:
193227
needs: [changes]
194228
if: needs.changes.outputs.ios == 'true'
195-
runs-on: macos-latest
229+
runs-on: macos-26
196230
env:
197231
TURBO_CACHE_DIR: .turbo/ios
198232
steps:
@@ -205,7 +239,7 @@ jobs:
205239
- name: Set up Xcode
206240
uses: maxim-lobanov/setup-xcode@v1
207241
with:
208-
xcode-version: '16.4'
242+
xcode-version: '26.3'
209243

210244
- name: Reset build folder and pods
211245
run: rm -rf apps/example/build apps/example/ios/Pods apps/example/ios/Podfile.lock

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,6 @@ nitrogen/
9191

9292
# Maestro screenshot diffs
9393
.maestro/**/*_diff.png
94+
95+
# Claude skills
96+
.claude/skills/*-internal.md
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
appId: swmansion.enriched.example
2+
---
3+
# PR #672 - fix: removing inline styles
4+
- launchApp
5+
6+
- tapOn:
7+
id: 'toggle-screen-button'
8+
9+
- tapOn:
10+
id: 'editor-input'
11+
12+
- tapOn:
13+
id: 'toolbar-bold'
14+
- tapOn:
15+
id: 'toolbar-italic'
16+
- tapOn:
17+
id: 'toolbar-underline'
18+
- tapOn:
19+
id: 'toolbar-strikethrough'
20+
21+
- inputText: 'First line'
22+
- pressKey: Enter
23+
- inputText: 'Second line'
24+
25+
- tapOn:
26+
id: 'toolbar-code-block'
27+
28+
- runFlow:
29+
file: '../subflows/capture_or_assert_screenshot.yaml'
30+
env:
31+
SCREENSHOT_NAME: 'inline_styles_removal'
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
appId: swmansion.enriched.example
2+
---
3+
# Verifies typing a URL directly into the editor
4+
- launchApp
5+
6+
- tapOn:
7+
id: 'toggle-screen-button'
8+
9+
- tapOn:
10+
id: "editor-input"
11+
12+
# autolinks break on text change or paste
13+
- inputText: 'swmansion.com'
14+
15+
- doubleTapOn:
16+
id: 'editor-input'
17+
point: '20%, 50%'
18+
- tapOn:
19+
text: 'Copy'
20+
21+
- tapOn:
22+
id: 'editor-input'
23+
point: '70%, 50%'
24+
- pressKey: Enter
25+
26+
- longPressOn:
27+
id: 'editor-input'
28+
point: '50%, 70%'
29+
- tapOn:
30+
text: 'Paste'
31+
- inputText: 'm'
32+
33+
- pressKey: Enter
34+
- inputText: 'swm'
35+
- longPressOn:
36+
id: 'editor-input'
37+
point: '50%, 75%'
38+
- tapOn:
39+
text: 'Paste'
40+
41+
- runFlow:
42+
file: '../subflows/capture_or_assert_screenshot.yaml'
43+
env:
44+
SCREENSHOT_NAME: 'links_visual_auto'
45+
46+
# manual link where href == textValue but does not match the linkRegex is considered as a manual link
47+
- runFlow:
48+
file: '../subflows/set_editor_value.yaml'
49+
env:
50+
VALUE: '<html><p><a href="example.com">example.com</a></p></html>'
51+
52+
- doubleTapOn:
53+
id: 'editor-input'
54+
point: '20%, 50%'
55+
- tapOn:
56+
text: 'Copy'
57+
58+
- tapOn:
59+
id: 'editor-input'
60+
point: '70%, 50%'
61+
- pressKey: Enter
62+
63+
- longPressOn:
64+
id: 'editor-input'
65+
point: '50%, 70%'
66+
- tapOn:
67+
text: 'Paste'
68+
- pressKey: Backspace
69+
70+
- runFlow:
71+
file: '../subflows/capture_or_assert_screenshot.yaml'
72+
env:
73+
SCREENSHOT_NAME: 'links_visual_manual'
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
appId: swmansion.enriched.example
2+
---
3+
# fix PR #637 - mention popups not closing when switching between mentions
4+
5+
- launchApp
6+
7+
- tapOn:
8+
id: "toggle-screen-button"
9+
10+
- tapOn:
11+
id: "editor-input"
12+
13+
- inputText: "mentions #gen @J"
14+
15+
# user popup visible
16+
- runFlow:
17+
file: "../subflows/capture_or_assert_fullscreen_screenshot.yaml"
18+
env:
19+
SCREENSHOT_NAME: "mention_popup_closing_on_cursor_travel_1"
20+
21+
- tapOn:
22+
id: "focus-button"
23+
24+
- tapOn:
25+
id: "editor-input"
26+
point: "30%, 50%"
27+
28+
# channel popup visible
29+
- runFlow:
30+
file: "../subflows/capture_or_assert_fullscreen_screenshot.yaml"
31+
env:
32+
SCREENSHOT_NAME: "mention_popup_closing_on_cursor_travel_2"
33+
34+
- tapOn:
35+
id: "focus-button"
36+
37+
- tapOn:
38+
id: "editor-input"
39+
point: "10%, 50%"
40+
41+
# no popup visible
42+
- runFlow:
43+
file: "../subflows/capture_or_assert_fullscreen_screenshot.yaml"
44+
env:
45+
SCREENSHOT_NAME: "mention_popup_closing_on_cursor_travel_3"
8.96 KB
14.8 KB
9.77 KB
75.3 KB
69.8 KB

0 commit comments

Comments
 (0)