forked from nylas/nylas-nodejs
-
Notifications
You must be signed in to change notification settings - Fork 1
Merge with upstream #5
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
Draft
AdriVanHoudt
wants to merge
479
commits into
Salesflare:master
Choose a base branch
from
nylas:main
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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)
Few minor fixes
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.
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
… 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
…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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For Salesflare/Server#4012