Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
07ce25d
feat(transcript): add cross-host document export pipeline
Aug 20, 2026
fffebf2
feat(transcript): wire real VS Code and HTML export consumers
Aug 21, 2026
1077fb9
build(deps): sync transcript workspace dependencies
Aug 21, 2026
c5d8a53
Merge branch 'main' into codex/backup-feat-web-shell-adapter-before-s…
Aug 21, 2026
bff6f3b
fix(transcript): harden export and identity paths
Aug 22, 2026
2eeb635
Merge remote-tracking branch 'upstream/main' into codex/backup-feat-w…
Aug 22, 2026
360ea9a
Merge remote-tracking branch 'upstream/main' into codex/backup-feat-w…
Aug 22, 2026
0c15840
fix(transcript): harden identity and document export
Aug 23, 2026
6b6f98b
Merge branch 'main' into codex/backup-feat-web-shell-adapter-before-s…
Aug 23, 2026
16bdebb
fix(transcript): simplify adapters and preserve segment boundaries
Aug 23, 2026
939da45
fix(transcript): address cross-host review regressions
Aug 23, 2026
d66a44f
fix(transcript): harden export sanitization and user identity
Aug 24, 2026
8eaa97c
Merge branch 'main' into codex/backup-feat-web-shell-adapter-before-s…
Aug 24, 2026
f31dad9
fix(web-shell): restore agent-only group predicate
Aug 24, 2026
642cd45
fix(web-shell): restore agent-only group predicate
Aug 24, 2026
62baf8b
refactor(transcript): split HTML export from VS Code migration
Aug 24, 2026
3cf014d
Merge branch 'main' into codex/feat-chat-transcript-mr2a-html-export
Aug 25, 2026
3d87d7a
Merge branch 'codex/feat-chat-transcript-mr2a-html-export' into codex…
Aug 25, 2026
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
Expand Up @@ -8,6 +8,7 @@
*.sh eol=lf
*.bash eol=lf
Makefile eol=lf
packages/vscode-ide-companion/NOTICES.txt linguist-generated=true

# Windows cmd.exe expects batch installers to be checked out with CRLF.
scripts/installation/install-qwen-standalone.bat text eol=crlf
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -801,19 +801,26 @@ jobs:

- name: 'Install Playwright Chromium (hosted)'
if: "${{ runner.environment == 'github-hosted' }}"
run: 'npx playwright install --with-deps chromium'
run: |-
node node_modules/playwright/cli.js install --with-deps chromium
node node_modules/@playwright/test/node_modules/playwright/cli.js install chromium

- name: 'Install Playwright Chromium (self-hosted)'
if: "${{ runner.environment == 'self-hosted' }}"
# Self-hosted ECS runners already include system deps; --with-deps can race apt locks.
run: 'npx playwright install chromium'
run: |-
node node_modules/playwright/cli.js install chromium
node node_modules/@playwright/test/node_modules/playwright/cli.js install chromium

- name: 'Choose web-shell Playwright port'
run: |-
port="$(node -e "const net=require('node:net');const server=net.createServer();server.listen(0,'127.0.0.1',()=>{console.log(server.address().port);server.close();});")"
echo "PLAYWRIGHT_PORT=${port}" >> "${GITHUB_ENV}"
echo "Using web-shell Playwright port ${port}"

- name: 'Run transcript document browser gate'
run: 'npx vitest run --root ./integration-tests ./chat-transcript-document.test.ts --retry=0'
Comment thread
water-in-stone marked this conversation as resolved.

- name: 'Run web-shell browser smoke'
run: 'npm run test:e2e:smoke --workspace=packages/web-shell'

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,9 @@ jobs:
# test:integration:sandbox:docker: that script would rebuild the image
# the step above just built.
if [[ "${{ matrix.sandbox }}" == "sandbox:docker" ]]; then
npx cross-env QWEN_SANDBOX=docker vitest run --root ./integration-tests --exclude '**/interactive/cron-interactive.test.ts' --exclude '**/channel-plugin.test.ts' --shard='${{ matrix.shard }}'
npx cross-env QWEN_SANDBOX=docker vitest run --root ./integration-tests --exclude '**/interactive/cron-interactive.test.ts' --exclude '**/channel-plugin.test.ts' --exclude '**/chat-transcript-document.test.ts' --shard='${{ matrix.shard }}'
else
npm run test:integration:sandbox:none -- --exclude '**/interactive/cron-interactive.test.ts' --exclude '**/channel-plugin.test.ts' --shard='${{ matrix.shard }}'
npm run test:integration:sandbox:none -- --exclude '**/interactive/cron-interactive.test.ts' --exclude '**/channel-plugin.test.ts' --exclude '**/chat-transcript-document.test.ts' --shard='${{ matrix.shard }}'
fi

e2e-test-macos:
Expand Down Expand Up @@ -201,7 +201,7 @@ jobs:
OPENAI_API_KEY: '${{ secrets.OPENAI_API_KEY }}'
OPENAI_BASE_URL: '${{ secrets.OPENAI_BASE_URL }}'
OPENAI_MODEL: '${{ secrets.OPENAI_MODEL }}'
run: 'npx cross-env VERBOSE=true KEEP_OUTPUT=true QWEN_SANDBOX=false vitest run --root ./integration-tests --exclude "**/interactive/cron-interactive.test.ts" --exclude "**/channel-plugin.test.ts" --shard="${{ matrix.shard }}"'
run: 'npx cross-env VERBOSE=true KEEP_OUTPUT=true QWEN_SANDBOX=false vitest run --root ./integration-tests --exclude "**/interactive/cron-interactive.test.ts" --exclude "**/channel-plugin.test.ts" --exclude "**/chat-transcript-document.test.ts" --shard="${{ matrix.shard }}"'

isolated-nightly:
name: '${{ matrix.label }} (nightly)'
Expand Down
227 changes: 130 additions & 97 deletions docs/design/web-shell/chat-transcript-contract-prevalidation.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export default tseslint.config(
ignores: [
'node_modules/*',
'packages/**/dist/**',
'packages/web-templates/src/generated/**',
'integrations/**/dist/**',
'bundle/**',
'package/bundle/**',
Expand Down
Loading
Loading