Skip to content

Conversation

@AdriVanHoudt
Copy link

For Salesflare/Server#4012

TrySound and others added 30 commits June 10, 2021 12:24
Request package was left in dependencies. Authored by @TrySound.
…t` object (#241)

The Node SDK only added a tracking object to the payload if the draft was never "created" before (created in the Nylas API, as in the object was not `.save()` yet and does not have a draft ID), which is allowed according to the [Message Tracking documentation](https://developer.nylas.com/docs/developer-tools/webhooks/message-tracking/#enabling-tracking). However if the user has already created a `draft` object in the Nylas and tries to send it with a tracking object, it never gets added. This PR allows for a tracking object to be included in either case.
When downloading a file, the body returns undefined. This was due to a previous change when we cut over from the old requests library and moved to the node-fetch library. Test suite has also been updated to ensure that we have coverage for this in the future.
New `nylas` v5.5.0 release bringing in the following fixes:
* Fix tracking object not being added to a pre-existing `draft` object (#241)
* Removed `request` dependency and related import statements (#240) 
* Fix `undefined` response when downloading file (#242)
Version 5.5 has a breaking change where it calls JSON.stringify on options.body regardless of options.json. This breaks the send raw mime functionality. I document this in a bit more detail here: #246

Checking to see if options.json is explicitly set to false seems pretty safe here (rather than make the condition options.body && options.json as that breaks some calendar unit tests even though it's probably a bit more semantically correct). It looks like this library use to do something similar: b995b4f#diff-2de4f9bb82a400d2734c75d30d64883eec745110373fcde2c3e46fea7d3eb325L229
Lots of tests were returning a pass before being properly evaluated as a result of the Jest test cases being written without it properly being told to wait for the async calls to resolve before evaluating. This PR also found a few minor issues that were fixed:

- Event.rsvp() callback parameter should be optional.
- Uploading a File should expect a JSON as the API returns metadata
- Converting raw MIME emails to JSON before we can access fields
Committed outdated code, was supposed compare content-type header
This will help us triage issues quicker as any issue that falls under bugs or enhancement will be auto-populated in Clubhouse for internal tracking.
Just to provide a more descriptive description
Added a new workflow to execute tests on new PRs to `main` as well as fixing some issues with the clubhouse action.
The repository now has both eslint and prettier set up to help with maintaining good and pretty code. This PR also enables a GitHub action to run the checkers during each PR.
This PR brings support for the Nylas Neural API. The Neural API exposes endpoints that perform intelligent analysis on items in your Nylas account. This change will enable users to access the features of the Nylas Neural API and provides some utility functions to help improve the user's workflow.
This functionality was added by @gianpaj (#248), this PR just adds some consistency fixes to match Node SDK. This change enables support for the /calendar/availability endpoint.

Co-authored-by: Gianfrancø Null <899175+gianpaj@users.noreply.github.com>
Co-authored-by: Gianfranco Palumbo <gpalumbo@cartrawler.com>
New `nylas` v5.6.0 release bringing in the following fixes:
* Fix Jest test cases not respecting async methods (#249)
* Fix issue with parsing raw MIME emails (#247)
* Add linting, enabled and set up eslint and prettier (#252)
* Add support for `/calendars/availability` endpoint (#248, #254)
* Add support for the Neural API (#253)
Very minor fix, two local class names were in plural form instead of singular form.
The Event class was missing two fields that are present in recurring events, and are now added:
- master_event_id which represents the ID of the recurring event, and
- original_start_time which represents the start time of the recurring event
Previously, if an error was encountered that wasn't caught (likely due to a server/network level error) it would not be rejected. We've added a catch block around the request to catch any error that didn't get caught before, and reject.
This PR enables support for the new Nylas Conference Sync (Beta) feature.
The Event API, in addition to support for manually-added conference details, supports auto generating conference details. If you have an integration authorized and enabled for your Nylas account you can provide an autocreate object instead of a details object to have the Nylas API autofill the conferencing details.
New nylas v5.7.0 release:
* Fix minor issues with Neural API implementation
* Fix not rejecting uncaught errors during requests
* Add missing fields for recurring events
* Add support for conferencing
The conditional logic in the RestfulModel toJSON method was not explicit enough on the value of enforceReadOnly, leading to JSON.stringify unintentionally ignoring read only values.
Updated readme links and removed pages that don't exist anymore
…272)

JSON.parse(req.rawBody) was throwing an error if req.rawBody was an empty string.
This PR addresses an issue that causes some PUT calls for Calendar objects to break. The issue was found when a customer was unable to update an event on API 2.2 with the API rejecting the call because message_id was present in the body. The messageId property is supposed to be readonly. We have 5 properties in Calendar that are now marked as readonly: messageId, owner, iCalUID, status, and jobStatusId
This PR enables support for the /calendars/availability/consecutive endpoint.
New nylas v5.8.0 release
This PR enables SDK support for the Scheduler API.
AaronDDM and others added 30 commits May 23, 2025 09:15
Fixes #638 - Adds the missing /cancel suffix to the Notetaker API endpoint
that was introduced in v7.9.0
- Add 'zoom' to Provider type in auth.ts

- Add test to verify zoom provider support

- Update CHANGELOG.md with unreleased changes
…641)

The event status type in the Event interface was incorrectly using 'tentative'
instead of 'maybe' as one of its possible values. This change updates the type
to match the API documentation.

Changes:
- Update Status type to use 'maybe' instead of 'tentative'
- Update CHANGELOG.md

Fixes #626
… in all resource classes (#642)

- Replaced string interpolation for API endpoint paths with the new `makePathParams` utility across all resource classes:
  - contacts, credentials, drafts, events, folders, grants, messages, notetakers, redirectUris, sessions, smartCompose, threads, webhooks
- Ensured all dynamic path segments are now type-safe and consistently encoded
- Updated conditional path logic in notetakers and other resources to use `makePathParams`
- Refactored sendRsvp and other custom endpoints to use the new utility
- Added `makePathParams`, `safePath`, and supporting types to `src/utils.ts` for type-safe, encoded path construction
- Improved maintainability and reduced risk of path construction errors
)

* Add tentativeAsBusy parameter to FreeBusy requests

- Add tentativeAsBusy optional boolean parameter to GetFreeBusyRequest interface
- When true (default), Nylas treats tentative events as busy
- When false, tentative events are treated as free
- Add comprehensive test coverage for all tentativeAsBusy scenarios
- Update changelog with new feature - Follows SDK camelCase naming convention

* Update CHANGELOG.md
… new MessageFields enum values (#645)

* Added support for new message `fields` query parameter values: `include_tracking_options` and `raw_mime`

* Added support for `rawMime` property in Message responses when using `fields=raw_mime`

* feat: add message cleaning and scheduled messages examples

* Ran prettier

* Clean up
Previously, the SDK only considered attachment size when determining whether to use multipart/form-data encoding, ignoring the email body size. This caused requests to fail when the combined size of message body and attachments exceeded 3MB, even if attachments alone were under the limit.

Changes:

- Add calculateTotalPayloadSize() function to calculate total request payload size

- Update Messages.send() to use total payload size instead of just attachment size

- Update Drafts.create() and Drafts.update() to use total payload size

- Add comprehensive tests to verify the fix works correctly

- Maintain full backwards compatibility

Fixes: Requests failing when total payload exceeds 3MB despite small attachments
* feat: add support for singleLevel query parameter in folders API - Add singleLevel parameter to ListFolderQueryParams interface - Support for Microsoft accounts to control folder hierarchy traversal - singleLevel: true returns only direct children (single-level) - singleLevel: false returns all descendants (multi-level, default) - Add comprehensive tests for new parameter functionality - Add folders example demonstrating singleLevel usage - Update CHANGELOG.md with new feature documentation - Maintain backwards compatibility with existing API usage

* style: fix prettier formatting - remove trailing whitespace in folder model comment
… list endpoint (#648)

* feat: add support for includeHiddenFolders query parameter in folders list endpoint

* prettier fix
* Release v7.11.0

* 7.11.0
…t and edge worker support (#653)

fix: sending attachments >3MB via Buffer or Readable streams
added: new examples showing how to send attachments
Bumps [esbuild](https://github.com/evanw/esbuild) to 0.25.4 and updates ancestor dependency [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler). These dependencies need to be updated together.


Updates `esbuild` from 0.17.19 to 0.25.4
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](evanw/esbuild@v0.17.19...v0.25.4)

Updates `wrangler` from 3.114.11 to 4.27.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.27.0/packages/wrangler)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.4
  dependency-type: indirect
- dependency-name: wrangler
  dependency-version: 4.27.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rable rawHeader (#660)

* feat(api): expose raw response headers on all responses via non-enumerable rawHeaders; keep existing camelCased headers intact
- add tests for rawHeaders on responses
- update response models to include rawHeaders
- attach rawHeaders in API client without breaking equality
* Release v7.13.0

* 7.13.0
* chore: added an esm-only example

* upgrade packages
* Release v7.13.1

* 17.13.1

* Added missing cjs-wrapper to the published builds

* Updated changelog date

* feat: add dual build system with dynamic fetch wrapper

- Add fetchWrapper system with separate CJS/ESM implementations
- Add setupFetchWrapper.js script for build-time wrapper selection
- Update TypeScript configs to support dual module builds
- Modify apiClient to use new fetch wrapper system
- Update tests for new fetch handling approach

This improves compatibility between CommonJS and ES modules by using
dynamic imports for node-fetch in CJS builds while maintaining
native fetch support in ESM builds.

* Added tests

* Fixed package.json version
…ixes #669) (#672)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: demello.aaron <demello.aaron@gmail.com>
…arams. (#686)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…alendars (#688)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aaron de Mello <314152+AaronDDM@users.noreply.github.com>
…e-vite-calendars (#687)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aaron de Mello <314152+AaronDDM@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.