Skip to content
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
19 changes: 19 additions & 0 deletions .changeset/upgrade-web-elements-2-5-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
"@nylas/react": minor
---

Upgrade @nylas/web-elements dependency to 2.5.0

### Minor Changes

- Added `nylasSchedulerEditorError` event to `nylas-scheduler-editor` that captures and re-emits errors from child components. In React, use the `onNylasSchedulerEditorError` prop to handle errors from the editor and its children in a single place.

### Patch Changes

- Fixed `nylas-scheduler-editor` showing the configuration list in composable mode instead of rendering the slotted content
- Fixed cancel and reschedule flows breaking when a booking ref was provided without a session ID by deferring scheduler initialization
- Fixed cancel after reschedule failing because stale booking IDs were retained. After rescheduling (which creates new booking IDs), the scheduler now correctly updates to the new IDs so subsequent cancel operations target the rescheduled booking.
- Fixed participant availability and booking calendars not populating when editing an existing configuration due to a prop ordering race condition. Also fixed round-robin participants incorrectly showing the organizer's calendars instead of their own.
- Fixed participant search in the scheduler editor: search results are now properly added to the participant options store, the dropdown no longer disappears prematurely when selecting a result, and the currently-edited participant row is excluded from duplicate filtering
- Fixed a bug where the organizer participant's grant_id was dropped when saving a scheduler configuration. The grant_id is now preserved for both organizer and non-organizer participants during edit and save operations. Additionally, async participants added via search or fetch callbacks can now optionally include a grant_id that flows through to the saved configuration.
- Fixed round-robin configurations not correctly identifying the organizer, which could cause calendar selection and booking calendar assignment to fail when editing an existing round-robin config
95 changes: 81 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,39 @@ on:
branches:
- main
workflow_dispatch:
inputs:
release_type:
description: "Release type"
required: true
type: choice
default: "snapshot"
options:
- "stable"
- "snapshot"
packages:
description: "Packages to publish (snapshots only)"
required: false
type: choice
default: "@nylas/react"
options:
- "@nylas/connect"
- "@nylas/react"
snapshot_tag:
description: "Snapshot tag (snapshots only)"
required: false
default: "canary"
type: choice
options:
- "canary"
- "alpha"
- "beta"
- "snapshot"
- "dev"

run-name: >-
${{ inputs.release_type == 'snapshot'
&& format('Snapshot: {0}@{1} by @{2}', inputs.packages, inputs.snapshot_tag, github.actor)
|| 'Release' }}

# Prevent multiple releases from running at the same time
concurrency: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -15,6 +48,7 @@ env:
jobs:
release:
name: Release
if: inputs.release_type != 'snapshot'
runs-on: ubuntu-latest
permissions:
contents: write # to create release commits and tags
Expand All @@ -29,9 +63,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
# Need full history for changesets
fetch-depth: 0
# Use a token that can trigger workflows (for release PR creation)
token: ${{ secrets.SDK_RELEASE_PAT }}

- name: Setup Node.js
Expand Down Expand Up @@ -92,31 +124,66 @@ jobs:
GITHUB_TOKEN: ${{ secrets.SDK_RELEASE_PAT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # do not remove this line (https://github.com/changesets/action/issues/98)
PM_CONFIG_PROVENANCE: true
NPM_CONFIG_PROVENANCE: true

# Slack notification job (only when packages are published)
notify:
name: Notify Slack
snapshot:
name: Publish Snapshot
if: inputs.release_type == 'snapshot'
runs-on: ubuntu-latest
needs: release
if: needs.release.outputs.published == 'true'
permissions:
contents: read
id-token: write # for NPM provenance
timeout-minutes: 15

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
fetch-depth: 0

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
registry-url: "https://registry.npmjs.org"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Send Slack notification
run: pnpm slack:notify '${{ needs.release.outputs.publishedPackages }}' ${{ secrets.SLACK_WEBHOOK_URL }}
- name: Create snapshot version
run: pnpm changeset version --snapshot ${{ inputs.snapshot_tag }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Build packages
run: pnpm nx run-many -t build --parallel=3 --projects=${{ inputs.packages }}

- name: Publish snapshot
run: |
pnpm changeset publish --no-git-tag --snapshot --tag ${{ inputs.snapshot_tag }} | tee /tmp/changeset_publish.log

echo '### Published Snapshot Packages' >> $GITHUB_STEP_SUMMARY
echo '' >> $GITHUB_STEP_SUMMARY

grep -oP '@nylas/\S+' /tmp/changeset_publish.log | grep '@[0-9]' | sort -u | \
sed 's/^/- /' >> $GITHUB_STEP_SUMMARY || echo '- No packages published' >> $GITHUB_STEP_SUMMARY

echo '' >> $GITHUB_STEP_SUMMARY
echo '<details><summary>Full publish log</summary>' >> $GITHUB_STEP_SUMMARY
echo '' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat /tmp/changeset_publish.log >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo '</details>' >> $GITHUB_STEP_SUMMARY
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_PROVENANCE: true

108 changes: 0 additions & 108 deletions .github/workflows/snapshot.yml

This file was deleted.

2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"dependencies": {
"@nylas/connect": "workspace:^",
"@nylas/core": "^1.2.0",
"@nylas/web-elements": "2.4.1",
"@nylas/web-elements": "2.5.0",
"@stencil/react-output-target": "^1.2.0",
"axios": "^1.7.7",
"dayjs": "1.11.7",
Expand Down
10 changes: 5 additions & 5 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.