profile
viewpoint
Michael Bromley michaelbromley @vendure-ecommerce Vienna, Austria http://www.michaelbromley.co.uk I am a programmer. Here are some of my projects.

gentics/mesh-ui 21

Gentics Mesh UI

gentics/proxy-php 17

A simple HTTP proxy to work around CORS limitations

gentics/docker-tmpfs-mysql 16

Dockerfiles for an MySQL Server that uses a tmpfs and updated configuration to startup faster.

gentics/gentics-ui-core 16

Gentics UI Core Framework

gentics/gentics-ui-image-editor 14

An Angular module for cropping, resizing and setting the focal point of images.

gentics/graphql-java-filter 12

GraphQL Filter Library for GraphQL-Java

gentics/mesh-compose 8

Gentics Mesh Docker Compose Stack

gentics/elasticsearch-java-client 6

Minimalistic Elasticsearch Java Client based on OkHttp

gentics/mesh-angular-example 5

Gentics Mesh Angular Example

issue commentvendure-ecommerce/vendure

ChannelAware ProductVariants

I would agree that it would only be necessary to make ProductVariants ChannelAware in that case.

hendrikdepauw

comment created time in 10 hours

issue closedvendure-ecommerce/vendure

Logging in with an unverified username returns an unexpected error.

Describe the bug According to the developer guide, there are two types of errors: 1-Unexpected errors 2-Expected errors

When a user registers using the registerCustomerAccount mutation and immediately tries to login prior to verifying his account, the login mutation returns an unexpected error. As this is a common error, I believe it should be treated as an expected error.

To Reproduce Steps to reproduce the behavior:

  1. Register a new account
mutation Register($input: RegisterCustomerInput!) {
        registerCustomerAccount(input: $input) {
            ... on Success {
                success
            }
            ...ErrorResult
        }
    }
fragment ErrorResult on ErrorResult {
  errorCode
  message
}
  1. Login with the newly registered account
mutation SignIn(
  $emailAddress: String!
  $password: String!
  $rememberMe: Boolean!
) {
  login(username: $emailAddress, password: $password, rememberMe: $rememberMe) {
    ... on CurrentUser {
      id
    }
    ...ErrorResult
  }
}

fragment ErrorResult on ErrorResult {
  errorCode
  message
}

  1. The returned error is of the following format
{
  "errors": [
    {
      "message": "Please verify this email address before logging in",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "login"
      ],
      "extensions": {
        "code": "NOT_VERIFIED"
      }
    }
  ],
  "data": null
}

Expected behavior Something on the order of:

{
  "data": {
    "login": {
      "errorCode": "UNVERIFIED_ACCOUNT_ERROR",
      "message": "Please verify this email address before logging in."
    }
  }
}

Environment:

  • @vendure/core version: 0.16.1

closed time in 10 hours

marwand

issue commentvendure-ecommerce/vendure

Logging in with an unverified username returns an unexpected error.

Thanks for the report and you are totally correct! This was already noted by someone else in #500 and will be fixed in the next release.

marwand

comment created time in 10 hours

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha ef99c22900977d27b79a76a8991aeefc0e202c89

fix(core): Correctly de-duplicate OrderLines with empty custom fields Fixes #512

view details

Michael Bromley

commit sha e22db7e2e0da5c719733d54648d8542152ef5abf

fix(email-plugin): Only call `loadData()` function after filters run Fixes #518

view details

Michael Bromley

commit sha c77af2b41fbd4df008ed71fd1797165c0ebf740b

fix(admin-ui): Fix collection list "expand all" behaviour when toggling Fixes #513

view details

push time in 10 hours

issue closedvendure-ecommerce/vendure

Collections not expanded/closed after user interaction | Admin-ui

Describe the bug Expand all collections does not work properly after opening some collections manually

To Reproduce Steps to reproduce the behavior:

  1. Go to https://demo.vendure.io/admin/catalog/collections
  2. Expand any collection
  3. Click on "Expand all collections"
  4. Toggling "Expand all collections" effect only collection that user did not open manually

Expected behavior Should affect all collections

Version vendure 0.16.1

Video example https://www.loom.com/share/ef0b76b59eb147e7a407e96371b9cfc7

closed time in 10 hours

AntonZhuravel99

issue closedvendure-ecommerce/vendure

EmailPlugin - Handler: loadData() function gets called on all event emissions

Describe the bug loadData() of EmailHandler is being called for every emission of event (e.g. OrderStateTransition), not just when it passes the filter() resulting all queries in loadData being run on any order transition.

To Reproduce Steps to reproduce the behavior: -find any EmailHandler definition that listen to .on(OrderStateTransition) -set filter(x => false) so it would never pass -insert console.log('Hello World'); to its loadData function -transition any order to any state -check the spam in the console

Expected behavior loadData function should be invoked only for transition that pass the filter() function in EmailHandler

Environment (please complete the following information):

  • @vendure/core version: v16.1

closed time in 10 hours

chladog

issue closedvendure-ecommerce/vendure

Incorrect de-duplication on `addItemToOrder` of OrderLines with custom fields

Describe the bug When executing the addItemToOrder mutation, if that ProductVariant is already in the Order, it should be incremented rather than a new OrderLine being created. The logic for this is here: https://github.com/vendure-ecommerce/vendure/blob/04a49bf2fd66671f058ea62802f09169645aab62/packages/core/src/service/services/order.service.ts#L322-L334

However, if one or more custom fields is set on the OrderLine entity, and none are set in the addItemToOrder mutation, the orderLine var on line 322 is incorrectly undefined.

To Reproduce Steps to reproduce the behavior:

  1. Define a custom field on OrderLine and start server
  2. invoke addItemToOrder with variant id 1, quantity 1, no custom fields.
  3. repeat step 2
  4. See that there are 2 OrderLines in the Order where there should only be 1.

Expected behavior Correct de-deduplication of order lines when the custom fields are empty.

Environment (please complete the following information):

  • @vendure/core version: 0.16.1
  • Nodejs version: any
  • Database (mysql/postgres etc): any

closed time in 10 hours

michaelbromley

create barnchvendure-ecommerce/vendure

branch : backorders

created branch time in 15 hours

issue commentvendure-ecommerce/vendure

ChannelAware ProductVariants

The Channels of a Product would then become a combination of all the Channels of the different ProductVariants.

Are you proposing to get rid of the ChannelAware property of Product, in favour of deriving it from the ProductVariants? Or have both entities be ChannelAware?

hendrikdepauw

comment created time in 21 hours

push eventmichaelbromley/vendure-plugin-example

dependabot[bot]

commit sha 3873d4c30fa7242e06ab39baadfd929f87c9d4ff

Bump apollo-server-core from 2.9.11 to 2.18.2 Bumps [apollo-server-core](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core) from 2.9.11 to 2.18.2. - [Release notes](https://github.com/apollographql/apollo-server/releases) - [Changelog](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-core@2.18.2/packages/apollo-server-core) Signed-off-by: dependabot[bot] <support@github.com>

view details

Michael Bromley

commit sha 8c816560e7aab141739d99afb3f84c6060f31656

Merge pull request #10 from michaelbromley/dependabot/npm_and_yarn/apollo-server-core-2.18.2 Bump apollo-server-core from 2.9.11 to 2.18.2

view details

push time in 2 days

PR merged michaelbromley/vendure-plugin-example

Bump apollo-server-core from 2.9.11 to 2.18.2 dependencies

Bumps apollo-server-core from 2.9.11 to 2.18.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md">apollo-server-core's changelog</a>.</em></p> <blockquote> <h2>v2.18.2</h2> <ul> <li><code>apollo-server-core</code>: Explicitly include <code>lru-cache</code> dependency in <code>apollo-server-core</code>'s dependencies. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4600">#4600</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4600">apollographql/apollo-server#4600</a>)</li> </ul> <h2>v2.18.1</h2> <ul> <li> <p><code>apollo-server-core</code>: Fix support for legacy option <code>engine: {logger}</code>, broken in v2.18.0. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4588">#4588</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4588">apollographql/apollo-server#4588</a>)</p> </li> <li> <p><code>apollo-server-plugin-base</code>: The <code>ApolloServerPlugin</code> TypeScript type does not need to extend <code>AnyFunctionMap</code>, which was an unnecessary change in v2.18.0. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4588">#4588</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4588">apollographql/apollo-server#4588</a>)</p> </li> <li> <p><code>apollo-server-core</code>: Improve a usage reporting error which occurs when you use Apollo Server in an unsupported way. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4588">#4588</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4588">apollographql/apollo-server#4588</a>)</p> </li> <li> <p><code>apollo-server-core</code>: Fix typo in error message for unparsable/invalid schemas provided via <code>overrideReportedSchema</code>. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4581">#4581</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4581">apollographql/apollo-server#4581</a>)</p> </li> </ul> <h2>v2.18.0</h2> <ul> <li> <p><code>apollo-server-core</code>: When Apollo Server is configured with an Apollo API key, the URLs it uses to connect to Apollo's servers have changed. If the environment in which you run your servers requires you to explicitly allow connections by domain, you will need to add the new domain names. Usage reporting previously connected to <a href="https://engine-report.apollodata.com/">https://engine-report.apollodata.com/</a> and now connects to <a href="https://usage-reporting.api.apollographql.com/">https://usage-reporting.api.apollographql.com/</a>; schema reporting previously connected to <a href="https://edge-server-reporting.api.apollographql.com/">https://edge-server-reporting.api.apollographql.com/</a> and now connects to <a href="https://schema-reporting.api.apollographql.com/">https://schema-reporting.api.apollographql.com/</a> . [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>Apollo Server's support for communicating with Apollo’s commercial products has been refactored into three separate plugins exported from <code>apollo-server-core</code> (for usage reporting, schema reporting, and inline tracing), configured using the standard <code>plugins</code> option. The <code>engine</code> option continues to work for backwards compatibility in the 2.x series; support for <code>engine</code> will be deprecated in Apollo Server 3.x. Full details are available in <a href="https://www.apollographql.com/docs/apollo-server/migration-engine-plugins/">the migration guide</a>. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>To consistently support tracing, inline tracing is enabled by default on federated implementing services, even when an Apollo API key is provided. Previously it was not enabled when an API key was provided. You can disable it with <code>ApolloServerPluginInlineTraceDisabled</code>. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>The <code>apollo-engine-reporting</code> npm package has been obsoleted and will no longer receive updates. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>The <code>apollo-engine-reporting-protobuf</code> package has been renamed to <code>apollo-reporting-protobuf</code>. No new versions of the old package will be published. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>Implementations of <code>ApolloServer</code> for serverless frameworks such as Lambda now override the <code>serverlessFramework()</code> method to return true. We have changed our own integrations, but other implementations that extend <code>ApolloServer</code> which need this behavior should do the same. Support for <code>engine.sendReportsImmediately</code> will be dropped in Apollo Server 3.x. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>The <code>GraphQLServiceContext</code> type passed to the plugin serverWillStart method now contains <code>apollo</code> and <code>serverlessFramework</code> values. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p><code>apollo-server-core</code> / <code>apollo-server-plugin-base</code>: The request pipeline plugin API now supports a <code>serverWillStop</code> lifecycle hook. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p><code>apollo-server-core</code>: Previously, the usage reporting functionality registered one-shot handlers for the <code>SIGINT</code> and <code>SIGTERM</code> signals, which it used to send one final usage report before re-sending the signal to itself to continue shutdown. These signals handlers were installed by default if you enabled usage or schema reporting, and could be disabled by passing <code>engine.handleSignals: false</code>. Now, termination signal handling is the responsibility of Apollo Server as a whole rather than something specific to usage reporting. Apollo Server itself now registers these one-shot signal handlers, which trigger <code>ApolloServer.stop()</code>. This allows any plugin that implements the new <code>serverWillStop</code> callback to hook into shutdown logic, not just the usage reporting code. Similarly to before, these signal handlers are registered by default but can be disabled by via an option. We've changed the option name to <code>stopOnTerminationSignals: false</code> as it is more explicit about the behavior. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p><code>apollo-server-core</code>: The default logger implementation (if you don't specify your own <code>logger</code> or specify <code>debug</code>) now logs at the INFO level instead of the WARN level. The main effect is on a few built-in plugins which log one INFO message at startup; if a custom plugin logs at the INFO level then those messages will be visible by default as well. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p><code>apollo-server-core</code>: Parse and validate any schema passed via <code>overrideReportedSchema</code> to the schema reporting plugin, and throw accordingly on unparsable or invalid schemas.</p> </li> <li> <p>Using Apollo Server from TypeScript now requires TypeScript 3.8 due to the use of the <code>import type</code> and <code>export type</code> directives. (If this proves to be a major problem we can revert this choice, but it makes it easier for us to ensure that certain large dependencies are only loaded when needed.) [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4453">#4453</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4453">apollographql/apollo-server#4453</a>)</p> </li> <li> <p>Updated <code>@apollographql/graphql-playground-react</code> to 1.7.33 to include <a href="https://github.com/apollographql/graphql-playground/commit/1c102692bfbb717688827204186c15cb92629b3a">an upstream fix</a>. [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4550">#4550</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4550">apollographql/apollo-server#4550</a>)</p> </li> </ul> <h2>v2.17.0</h2> <ul> <li>subscriptions: Fix bug which prevented <code>installSubscriptionHandlers</code> from accepting a <code>websocket.Server</code> (as intended in [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/1966">#1966</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/1966">apollographql/apollo-server#1966</a>)) and also added support for other <code>http.Server</code> variations (e.g., Tls). [Issue <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4198">#4198</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/issues/4198">apollographql/apollo-server#4198</a>) [PR <a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4200">#4200</a>](<a href="https://github-redirect.dependabot.com/apollographql/apollo-server/pull/4200">apollographql/apollo-server#4200</a>)</li> </ul> <h2>v2.16.1</h2> <ul> <li>This release only includes patch updates to dependencies.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apollographql/apollo-server/commit/a4786b2fbfd2ae60e1bf1cfaaced3f9c8d174a93"><code>a4786b2</code></a> Release</li> <li><a href="https://github.com/apollographql/apollo-server/commit/7b2b11511a96050448be29f22c012b104c1af9c0"><code>7b2b115</code></a> fix: Missing lru-cache dependency (<a href="https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core/issues/4600">#4600</a>)</li> <li><a href="https://github.com/apollographql/apollo-server/commit/83e22003c717e93bc57655d4849b0833369f1152"><code>83e2200</code></a> Release</li> <li><a href="https://github.com/apollographql/apollo-server/commit/491135486fcbc77ff06c65d852b61a6e8ce36fe4"><code>4911354</code></a> apollo-server-core: Improve a usage reporting misuse error</li> <li><a href="https://github.com/apollographql/apollo-server/commit/491c50771950f2bd5d82013ca1d1e9dbf1e2dee7"><code>491c507</code></a> apollo-server-core: Fix legacy support for <code>engine: {logger}</code></li> <li><a href="https://github.com/apollographql/apollo-server/commit/72cd117cf9212b898fa55450fb819a7feebe9d77"><code>72cd117</code></a> schema-reporting: Fix error message whitespace, add tests for overrideReporte...</li> <li><a href="https://github.com/apollographql/apollo-server/commit/2aab7fd973bf352a0de28b2385dbad4be7c7fabc"><code>2aab7fd</code></a> Release</li> <li><a href="https://github.com/apollographql/apollo-server/commit/7481e51d6de10e684e9fe0252dfbac22392771f7"><code>7481e51</code></a> Release</li> <li><a href="https://github.com/apollographql/apollo-server/commit/9e5cd2804c4a5c320cfcee3d0b7448e02e9b2b8f"><code>9e5cd28</code></a> Release</li> <li><a href="https://github.com/apollographql/apollo-server/commit/a897b590154ab393bcac5f9cc80ce6a67607262f"><code>a897b59</code></a> schema-reporting: Check if overrideReportedSchema is parsable/valid</li> <li>Additional commits viewable in <a href="https://github.com/apollographql/apollo-server/commits/apollo-server-core@2.18.2/packages/apollo-server-core">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+502 -208

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

push eventmichaelbromley/vendure-plugin-example

dependabot[bot]

commit sha 1abff70b8fce0568af72e84617874c5a62e340c3

Bump object-path from 0.11.4 to 0.11.5 Bumps [object-path](https://github.com/mariocasciaro/object-path) from 0.11.4 to 0.11.5. - [Release notes](https://github.com/mariocasciaro/object-path/releases) - [Commits](https://github.com/mariocasciaro/object-path/commits) Signed-off-by: dependabot[bot] <support@github.com>

view details

Michael Bromley

commit sha 01fbfa64e22f5281a7f05f7a137db5782cc23fc9

Merge pull request #9 from michaelbromley/dependabot/npm_and_yarn/object-path-0.11.5 Bump object-path from 0.11.4 to 0.11.5

view details

push time in 2 days

PR merged michaelbromley/vendure-plugin-example

Bump object-path from 0.11.4 to 0.11.5 dependencies

Bumps object-path from 0.11.4 to 0.11.5. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/mariocasciaro/object-path/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

push eventvendure-ecommerce/deity-falcon-vendure-api

dependabot[bot]

commit sha 5494bc3344fe68f965e09857596ad28bf5d32d68

chore(deps): Bump object-path from 0.11.4 to 0.11.5 Bumps [object-path](https://github.com/mariocasciaro/object-path) from 0.11.4 to 0.11.5. - [Release notes](https://github.com/mariocasciaro/object-path/releases) - [Commits](https://github.com/mariocasciaro/object-path/commits) Signed-off-by: dependabot[bot] <support@github.com>

view details

Michael Bromley

commit sha c8186172c0ca75e32bb4efae6e1d5f260c8154a8

Merge pull request #9 from vendure-ecommerce/dependabot/npm_and_yarn/object-path-0.11.5 chore(deps): Bump object-path from 0.11.4 to 0.11.5

view details

push time in 2 days

PR merged vendure-ecommerce/deity-falcon-vendure-api

chore(deps): Bump object-path from 0.11.4 to 0.11.5 dependencies

Bumps object-path from 0.11.4 to 0.11.5. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/mariocasciaro/object-path/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

push eventvendure-ecommerce/vendure-demo

dependabot[bot]

commit sha ecfdae87342023f01b80ce7019f43005c4b784f3

Bump object-path from 0.11.4 to 0.11.5 Bumps [object-path](https://github.com/mariocasciaro/object-path) from 0.11.4 to 0.11.5. - [Release notes](https://github.com/mariocasciaro/object-path/releases) - [Commits](https://github.com/mariocasciaro/object-path/commits) Signed-off-by: dependabot[bot] <support@github.com>

view details

Michael Bromley

commit sha 2602b4603c0eb80ddf2a5474e4af5c8f09897b31

Merge pull request #9 from vendure-ecommerce/dependabot/npm_and_yarn/object-path-0.11.5 Bump object-path from 0.11.4 to 0.11.5

view details

push time in 2 days

PR merged vendure-ecommerce/vendure-demo

Bump object-path from 0.11.4 to 0.11.5 dependencies

Bumps object-path from 0.11.4 to 0.11.5. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/mariocasciaro/object-path/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

pull request commentvendure-ecommerce/vendure

AdminUI - Custom order states filtering + highlight

Thank you for the contribution! 👍

chladog

comment created time in 3 days

push eventvendure-ecommerce/vendure

Lukas Chladek

commit sha 76d2d56a2caf24226dbca122a18853741df1ab23

feat(admin-ui): Enable filtering by custom Order states in list view Also improved highlighting of states

view details

push time in 3 days

PR merged vendure-ecommerce/vendure

AdminUI - Custom order states filtering + highlight

-New feature of filtering of orders based on custom order states. -Change of default order state styles to highlight color. Custom order states are usually part of order processing and therefore of higher importance than AddingItems and ArraningPayment, we do not want to be losing them visually.

+4147 -4390

0 comment

7 changed files

chladog

pr closed time in 3 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha b56380c38b10b3dc43275b34efbabdbff7bd8f60

refactor(core): Add args typing to authenticate resolver

view details

Michael Bromley

commit sha f7bffa903be35fb74e7b2674863a9fc80541ac22

chore: Reinstate build & test workflow on PRs to master

view details

push time in 3 days

pull request commentvendure-ecommerce/vendure

feat(core): Add custom error result on AuthenticationStrategy

Thank you very much for your help on this!

macabeus

comment created time in 3 days

push eventvendure-ecommerce/vendure

Bruno Macabeus

commit sha d3ddb96a5ee65458e4be69ca940b5d6a8356c50a

feat(core): Add custom error result on AuthenticationStrategy Closes #499

view details

push time in 3 days

PR merged vendure-ecommerce/vendure

feat(core): Add custom error result on AuthenticationStrategy

Closes https://github.com/vendure-ecommerce/vendure/issues/499

+14088 -14496

0 comment

20 changed files

macabeus

pr closed time in 3 days

issue closedvendure-ecommerce/vendure

Custom error status on AuthenticationStrategy

Is your feature request related to a problem? Please describe. I'm developing a custom AuthenticationStrategy. It's working fine on the optimistic case. But on my case I need to return custom errors message when a login fail, such as when the account is blocked.

But since the method authenticate could return only two types (User on success case, and false on fail case), I don't have a way to send a detailed error message to frontend display.

Describe the solution you'd like We could change the authenticate to return something like that:

Promise<{
  success: true
  user: User
} |
{
  success: false
  error: string
}>

It's pretty flexible and type safe.

Describe alternatives you've considered Another way, in order to not have break change, is changing the return type to Promise<User | false | string> - but it could be confused about what string means.

closed time in 3 days

macabeus

issue commentvendure-ecommerce/vendure

Back-order settings

Thanks for the feedback!

Am I correct, that by default the stock information will not be exposed via the public store API? So if someone wants stock information he has to implement an own resolver to add the information he needs/wants?

Correct, though I plan to eventually make this a bit more convenient: #442

Zwergal

comment created time in 3 days

issue openedvendure-ecommerce/vendure

Incorrect de-duplication on `addItemToOrder` of OrderLines with custom fields

Describe the bug When executing the addItemToOrder mutation, if that ProductVariant is already in the Order, it should be incremented rather than a new OrderLine being created. The logic for this is here: https://github.com/vendure-ecommerce/vendure/blob/04a49bf2fd66671f058ea62802f09169645aab62/packages/core/src/service/services/order.service.ts#L322-L334

However, if one or more custom fields is set on the OrderLine entity, and none are set in the addItemToOrder mutation, the orderLine var on line 322 is incorrectly undefined.

To Reproduce Steps to reproduce the behavior:

  1. Define a custom field on OrderLine and start server
  2. invoke addItemToOrder with variant id 1, quantity 1, no custom fields.
  3. repeat step 2
  4. See that there are 2 OrderLines in the Order where there should only be 1.

Expected behavior Correct de-deduplication of order lines when the custom fields are empty.

Environment (please complete the following information):

  • @vendure/core version: 0.16.1
  • Nodejs version: any
  • Database (mysql/postgres etc): any

created time in 3 days

Pull request review commentvendure-ecommerce/vendure

AdminUI - Custom order states filtering + highlight

+type Query {+    orderStates: [OrderState!]

We already have this info available in the Admin API via the globalSettings query, which can return:

{
  serverConfig: {
    orderProcess: [ ... states ]
  }
}

So you can remove this and use that existing query in your Admin UI changes.

chladog

comment created time in 3 days

PullRequestReviewEvent
PullRequestReviewEvent

issue commentvendure-ecommerce/vendure

Back-order settings

Some more thoughts after studying the Magento docs linked above and some other research:

Stock on hand, Allocated, Saleable

Stock on hand Currently we use the stockOnHand property of a ProductVariant to signify the available stock, and if we allow back orders then this would go negative. However, it would be more correct to have "stock on hand" mean the number of units physically available. In this case, it does not make sense to allow a negative value. I think we need to introduce a couple of other concepts:

Allocated means how many units have been assigned to Orders. This would occur when the customer checks out. An Allocation stock movement would be created for each OrderItem. The stockOnHand value would not be affected by the creation of an Allocation. Only when a Fulfillment is created, we would create a Sale stock movement and then reduce the stockOnHand value.

Saleable means how many units are available to be sold to customers. This is what matters in the storefront. Typically this would equal stockOnHand - allocated, but if back-orders are enabled, we could allow units to be sold even if there are more allocated than on hand. Magento does this via a "out-of-stock threshold" which means "the number of available units below which we consider this SKU to be out of stock".

Some examples:

Stock on hand Allocated Out-of-stock threshold Saleable
10 0 0 10
10 0 3 7
10 5 0 5
10 5 3 2
10 10 0 0
10 10 -5 5

As you can see in the last line in the table, setting a negative value on the out-of-stock threshold effectively enables back-orders to be placed.

Implementation

So it seems that rather than a simple allowBackorders boolean at the global/variant level, we could instead just have a outOfStockThreshold value, which defaults to 0, meaning no backorders allowed. It could then be adjusted globally or per variant to a negative value to enable back-orders.

This solution gives much more control over stock management than a simple boolean "on/off" switch.

The ProductVariant entity would be extended thus:

class ProductVariant {
  useGlobalOutOfStockThreshold: boolean;
  outOfStockThreshold: number;
  stockAllocated: number;
}

When a customer checks out, we create an Allocation stock movement and increment the stockAllocated value. The stockAllocated, stockOnHand & outOfStockThreshold can then be used to derive the number of saleable units available. Note that right now we will not implement a "saleable" field on the Shop API ProductVariant type, since this is covered by #442.

When a fulfillment is created, we create a Sale stock movement, reduce the stockAllocated and stockOnHand values.

Zwergal

comment created time in 3 days

pull request commentvendure-ecommerce/vendure

add missing events to export (fulfillment, logout) and sort desc

Thanks! 🙏

chladog

comment created time in 3 days

push eventvendure-ecommerce/vendure

chladog

commit sha 04a49bf2fd66671f058ea62802f09169645aab62

fix(core): Add missing events to export (fulfillment, logout)

view details

push time in 3 days

issue commentvendure-ecommerce/vendure

Serve uploaded images in next-gen formats for faster storefronts

Yes, it would also come under the AssetServerPlugin. Specifically the SharpAssetPreviewStrategy, but I think we'd need to extend the strategy API a little to allow multiple preview formats.

edxds

comment created time in 3 days

issue commentvendure-ecommerce/vendure

Serve uploaded images in next-gen formats for faster storefronts

I think it could be implemented as part of the AssetServerPlugin, as an optional extra which can be switched on.

When enabled, it could add a blurHash customField to the Asset entity and then hook in somewhere (maybe via an event listener or TypeORM subscriber) to generate the hash.

edxds

comment created time in 5 days

issue closedvendure-ecommerce/vendure

Add support for better-sqlite3 driver

Is your feature request related to a problem? Please describe. It appears that using the sqlite3 package leads to concurrency issues when creating products in the Admin UI. Creating a product with more than 1 variant when using the sqlite driver in the TypeORM connection options results in:

"Transaction already started for the given connection, commit current transaction before starting a new one."

This issue is explored here: https://github.com/typeorm/typeorm/issues/1884

Describe the solution you'd like I tried switching over to the better-sqlite3 package (support for this was added in TypeORM 0.2.26) and the issue goes away.

The problem is that currently the DefaultSearchPlugin will fail because it does not recognise the 'better-sqlite3' type: https://github.com/vendure-ecommerce/vendure/blob/5d0c6ae6bbee69e132d43cd48206847168049277/packages/core/src/plugin/default-search-plugin/fulltext-search.service.ts#L87-L103

The solution is to:

  1. Add better-sqlite3 to the above switch statement.
  2. Use better-sqlite3 by default in @vendure/create

closed time in 6 days

michaelbromley

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 7a71fbe57af53ae8fc28a65f6026bbb696b107f1

feat(core): Add support for better-sqlite3 driver to DefaultSearchPlugin Relates to #505

view details

Michael Bromley

commit sha dfd4f364c9bec10c2d624b18cc272c4c8497bee5

feat(create): Use better-sqlite3 driver for improved sqlite perf Relates to #505

view details

Michael Bromley

commit sha 55b00b2c9dd4930c93283aae0c64eb823776910f

test(core): Await modified collection jobs Attempting to solve flaky e2e tests in MySQL

view details

Michael Bromley

commit sha 6204acfd5c6e43f794be547ec268c0afefa36662

chore: Use better-sqlite3 for dev

view details

Michael Bromley

commit sha ee39263e9928dda664ad137e7e26248a8593b2a9

feat(core): Add NotVerifiedError to AuthenticationResult Closes #500

view details

push time in 6 days

issue closedvendure-ecommerce/vendure

Exception when try to login with a not validated account

Describe the bug When I try to login on an account that wasn't validated the e-mail yet, an exception is launched:

image

Expected behavior We should extend the AuthenticationResult union to include a specific NotVerifiedError

Environment (please complete the following information):

  • @vendure/core version: 0.16.0
  • Nodejs version: 12.18.4
  • Database (mysql/postgres etc): postgres

Additional context https://vendure-ecommerce.slack.com/archives/CKYMF0ZTJ/p1602686730253400

closed time in 6 days

macabeus

issue commentvendure-ecommerce/vendure

Serve uploaded images in next-gen formats for faster storefronts

Another idea I'm just noting here: consider adding support for BlurHash: https://blurha.sh/

This would allow us to store a compact string representation of the blurred image to enable instant color-correct placeholder images while the main images load.

edxds

comment created time in 6 days

issue commentvendure-ecommerce/vendure

Promotion checker condition need response message

PromotionConditions are checked whenever the Order changes. For example, addItemToOrder, adjustOrderLine, addCustomerToOrder will all trigger the calculation of order adjustments.

How would you imagine that the "Some message" would fit in to this? At the moment I can't think of a workable API to accommodate this feature. If you have any suggestions please let me know.

truonghdpk

comment created time in 6 days

issue closedvendure-ecommerce/vendure

"The credentials did not match" / UNAUTHORIZED error when logging in with dot (.) in email address

Describe the bug I've now received 2 reports of users who had trouble logging in to Customer accounts when the email address contained a dot.

  1. In the first case, the Customer was created & verified in one step via the Admin UI. Eventually he concluded:

    I found out the problem... seems inside first part of the email address, there cannot be a dot...(strange)... as i use raymond.pang@XXX.XXX is not ok, but it works after I change to raymondpang@XXX.XXX

    No idea bout the Vendure version for that one.

  2. In the second case, the Customer was created via registerCustomerAccount and then verified via verifyCustomerAccount. Upon verification, the Customer is authenticated successfully. However, after logging out and attempting to login again, the user got the error:

    {
      "errors": [
        {
          "message": "The credentials did not match. Please check and try again",
          "locations": [
            {
              "line": 2,
              "column": 3
            }
          ],
          "path": [
            "login"
          ],
          "extensions": {
            "code": "UNAUTHORIZED"
          }
        }
      ],
      "data": null
    }
    

    This user was using Vendure v0.15.0, on Windows 10. The email address was of the format username06.first@gmail.com User confirmed that using an email address without a dot in the first part fixed the issue.

To Reproduce I cannot reproduce this on the current (v0.16.0) master branch. I also did a fresh @vendure/create@0.15.0 install and again failed to reproduce the issue.

So I am creating this issue to see if we can collect any more instances & data to help reproduce. If you are running into this, please comment below and (ideally) provide a repo that reproduces the issue.

closed time in 6 days

michaelbromley

issue commentvendure-ecommerce/vendure

Custom PaymentMethodHandler created twice on npm start

Thanks for that. Last question: which of those many console.log statements prints null/undefined where you expect some other value?

ekoto4

comment created time in 6 days

issue commentvendure-ecommerce/vendure

TransactionalConnection in plugins failing with not found, or not in "default" connection

I just tested this in the plugin-template repo (latest master branch) and I initially got some "module not found" errors. I fixed this by re-building the docker image (yarn dev:rebuild) and after that I ran yarn dev:run which works without errors.

One thing that is worth trying is to delete your lockfile (and potentially node_modules) and reinstall. I found that on upgrading there was some unnecessary duplication of dependencies so had to delete my lockfile. Not sure if that will fix it but, since I cannot reproduce this issue either in my own upgraded projects (with many custom entities) nor the plugin-template, I suspect there may be some issue related to your local environment.

chladog

comment created time in 6 days

issue commentvendure-ecommerce/vendure

Custom error status on AuthenticationStrategy

Oh this is a bit of a pain, but because some types are shared by both the Admin and Shop APIs, they get generated in both the generated-types.ts file (Admin API) and generated-shop-types.ts file (Shop API). Then when you try to assign one to another TS complains. It can be quite tricky to solve (you'll see some cases in the BaseAuthResolver where I needed to import both types and make a union of them). If you can't figure it out, throw in an as any and add a TODO: correct typings and I'll take a look. Don't let it hold up the rest of the work.

macabeus

comment created time in 6 days

issue openedvendure-ecommerce/vendure

Add support for better-sqlite3 driver

Is your feature request related to a problem? Please describe. It appears that using the sqlite3 package leads to concurrency issues when creating products in the Admin UI. Creating a product with more than 1 variant when using the sqlite driver in the TypeORM connection options results in:

"Transaction already started for the given connection, commit current transaction before starting a new one."

This issue is explored here: https://github.com/typeorm/typeorm/issues/1884

Describe the solution you'd like I tried switching over to the better-sqlite3 package (support for this was added in TypeORM 0.2.26) and the issue goes away.

The problem is that currently the DefaultSearchPlugin will fail because it does not recognise the 'better-sqlite3' type: https://github.com/vendure-ecommerce/vendure/blob/5d0c6ae6bbee69e132d43cd48206847168049277/packages/core/src/plugin/default-search-plugin/fulltext-search.service.ts#L87-L103

The solution is to:

  1. Add better-sqlite3 to the above switch statement.
  2. Use better-sqlite3 by default in @vendure/create

created time in 7 days

issue closedvendure-ecommerce/vendure

[Vendure Demo] Admin UI not able to login

Hello!

I'm not able to login into the admin UI. The login credentials superadmin are invalid.

Screenshot_2

closed time in 7 days

tiagomoucho3

issue commentvendure-ecommerce/vendure

[Vendure Demo] Admin UI not able to login

Added a plugin to prevent updates to the superadmin account: https://github.com/vendure-ecommerce/vendure-demo/commit/248a03731eb2983d80d70894eab9cc6217625f21

tiagomoucho3

comment created time in 7 days

push eventvendure-ecommerce/vendure-demo

Michael Bromley

commit sha 6b709670dab6e409fc23b41c9654fbed456e6cdb

Refactor to TypeScript, rework folder structure

view details

Michael Bromley

commit sha 248a03731eb2983d80d70894eab9cc6217625f21

Create DemoModePlugin to restrict certain actions

view details

Michael Bromley

commit sha a2dd528344a0727ee7fc77f0631ee25f9600100c

Update Vendure to v0.16.1

view details

push time in 7 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 4b5528895129db418a73b1081b9237ef5093ae87

fix(core): Use correct permission for `updateAdministrator` mutation

view details

Michael Bromley

commit sha 00e0af93fd9dfdcf6f90ac0fdb9aac174bf2092a

fix(admin-ui): Allow SortPipe to work with frozen arrays Apollo Client now freezes objects from the cache.

view details

Michael Bromley

commit sha feca114cef03b70d445d3cf6c9a4505104f238e7

fix(admin-ui): Fix widths of product variant inputs Fixes #503

view details

Michael Bromley

commit sha 55757782c55d69d7bafc9a3079dcfd18495c3283

fix(admin-ui): Fix DateFormInputComponent error

view details

Michael Bromley

commit sha 5b0df9d8f5078bbf9622b799dcc7ad84b04acd46

chore: Publish v0.16.1

view details

Michael Bromley

commit sha 5d0c6ae6bbee69e132d43cd48206847168049277

chore: Do not run Built & Test workflow for docs branch

view details

Michael Bromley

commit sha 3df2952f845d06ded04e33f80380fae9efb620ff

Merge branch 'master' into vendure-io

view details

push time in 7 days

created tagvendure-ecommerce/vendure

tagv0.16.1

A headless GraphQL ecommerce framework for the modern web

created time in 7 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 5b0df9d8f5078bbf9622b799dcc7ad84b04acd46

chore: Publish v0.16.1

view details

Michael Bromley

commit sha 5d0c6ae6bbee69e132d43cd48206847168049277

chore: Do not run Built & Test workflow for docs branch

view details

push time in 7 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 4b5528895129db418a73b1081b9237ef5093ae87

fix(core): Use correct permission for `updateAdministrator` mutation

view details

Michael Bromley

commit sha 00e0af93fd9dfdcf6f90ac0fdb9aac174bf2092a

fix(admin-ui): Allow SortPipe to work with frozen arrays Apollo Client now freezes objects from the cache.

view details

Michael Bromley

commit sha feca114cef03b70d445d3cf6c9a4505104f238e7

fix(admin-ui): Fix widths of product variant inputs Fixes #503

view details

Michael Bromley

commit sha 55757782c55d69d7bafc9a3079dcfd18495c3283

fix(admin-ui): Fix DateFormInputComponent error

view details

push time in 7 days

issue closedvendure-ecommerce/vendure

Wrong width of input fields [AdminUI]

width inputs _1 width inputs _2

Describe the bug The CSS of inputs is resulting in unusable input fields. Removing "width: 100%" from these fields will fix this issue.

To Reproduce Steps to reproduce the behavior:

  1. Have v16.0.0
  2. Access Product variant editation in both grid & list view

Expected behavior Normal width

Environment (please complete the following information):

  • @vendure/core version: v16.0.0

closed time in 7 days

chladog

issue commentvendure-ecommerce/vendure

Custom PaymentMethodHandler created twice on npm start

Prints out two different random integers from the constructor.

Are they being printed both from the server process? Or one from the server + one from the worker? If the latter, then that is expected.

Prints out null/undefined when you try and settle payment

Can you show the code for settlePayment so I have an idea of what it should be printing?

I am beginning to suspect that the issue may be to do with method binding, related to this approach of instantiating the config object as a class instance. If you provide the complete code of you implementation I can test out this theory myself.

ekoto4

comment created time in 7 days

issue commentvendure-ecommerce/vendure

Wrong UI components of argument data types

I've just attempted to reproduce this, both with the bundled Admin UI and also an extended compiled version, but I cannot see the same behaviour.

Can you take a look in the network tab at the GetPaymentMethod query and see if the args in the data.paymentMethod.configArgs array are in the correct order or not?

chladog

comment created time in 7 days

issue commentvendure-ecommerce/vendure

Custom PaymentMethodHandler created twice on npm start

I've just been looking into this and I'm not totally sure what you mean by "Add a random integer to print out during construction of payment method handler". Can you share an example of how you are doing this?

In my testing I have created the following handler:

import { LanguageCode, PaymentMethodHandler } from '@vendure/core';

console.log('entered test-handler.ts');

const id = Math.random().toString(36).substr(8);

export const myHandler = new PaymentMethodHandler({
    description: [{ languageCode: LanguageCode.en, value: 'just a test' }],
    code: 'test-handler',
    args: {},
    init: injector => {
        console.log('test-handler init()', id);
    },
    createPayment: (order, args, metadata) => {
        return {
            amount: order.total,
            state: 'Authorized',
            transactionId: '1234',
        };
    },
    settlePayment: order => {
        return {
            success: true,
        };
    },
});

and then I pass it to my config like:

//..
  paymentOptions: {
    paymentMethodHandlers: [examplePaymentHandler, myHandler],
  },
//...

When I start the server & worker, I see the following output:

$ concurrently yarn:run*
$ node -r ts-node/register index-worker.ts
$ node -r ts-node/register index.ts
[run:worker] entered test-handler.ts
[run:worker] Using mysql connection
[run:worker] info 10/15/20, 11:49 - [Vendure Worker] Bootstrapping Vendure Worker (pid: 25428)...
[run:server] entered test-handler.ts
[run:server] Using mysql connection
[run:server] info 10/15/20, 11:49 - [Vendure Server] Bootstrapping Vendure Server (pid: 13500)...
[run:worker] info 10/15/20, 11:49 - [NestMicroservice] Nest microservice successfully started
[run:worker] info 10/15/20, 11:49 - [Vendure Worker] Vendure Worker started with TCP transport at localhost:3020
[run:server] info 10/15/20, 11:49 - [RoutesResolver] HealthController {/health}:
[run:server] info 10/15/20, 11:49 - [RouterExplorer] Mapped {/health, GET} route
[run:server] info 10/15/20, 11:50 - [AssetServerPlugin] Asset server listening on "http://localhost:5002"
[run:server] test-handler init() 37gz9
[run:server] info 10/15/20, 11:50 - [NestApplication] Nest application successfully started
[run:server] info 10/15/20, 11:50 - [Vendure Server] =====================================================================
[run:server] info 10/15/20, 11:50 - [Vendure Server]           Vendure server (v0.16.0) now running on port 3000
[run:server] info 10/15/20, 11:50 - [Vendure Server] ---------------------------------------------------------------------
[run:server] info 10/15/20, 11:50 - [Vendure Server] Shop API:     http://localhost:3000/shop-api
[run:server] info 10/15/20, 11:50 - [Vendure Server] Admin API:    http://localhost:3000/admin-api
[run:server] info 10/15/20, 11:50 - [Vendure Server] Asset Server: http://localhost:3000/assets/ -> http://localhost:5002
[run:server] info 10/15/20, 11:50 - [Vendure Server] Dev Mailbox:  http://localhost:3000/mailbox/ -> http://localhost:5003
[run:server] info 10/15/20, 11:50 - [Vendure Server] Admin UI:     http://localhost:3000/admin/ -> http://localhost:5001
[run:server] info 10/15/20, 11:50 - [Vendure Server] =====================================================================

You can see 2 instances of entered test-handler.ts, one for the server and one for the worker, but only a single log from the init() method with the random ID:

[run:worker] entered test-handler.ts
...
[run:server] entered test-handler.ts
...
[run:server] test-handler init() 37gz9
ekoto4

comment created time in 7 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 6fb13e4fa1193ce9cd70ab638611282ad78f25d5

fix(docs): Update example mutation on landing page

view details

Bruno Macabeus

commit sha db1893a9bf46fc95f918e9f99db2e4472d5a6c9d

fix(docs): update findCustomerUser call

view details

Michael Bromley

commit sha 909479bad1f705f005a7ce8da67e381391a7aea7

fix(core): DefaultSearchPlugin correctly indexes language variants Fixes #493

view details

Michael Bromley

commit sha 9b8d278528d77a5dc6f92300a259227a40977c6d

fix(core): Restore export of ZoneService

view details

Michael Bromley

commit sha e37e5c9807676a95c89831b9173fddeeadbd06a9

fix(elasticsearch-plugin): Correctly index language variants Relates to #493

view details

Michael Bromley

commit sha b5fab60fb4391b5ea82ff56adf77c0604142c98a

chore(dev-server): Clean up config file

view details

Michael Bromley

commit sha cdf3a3951825aa2b9300f188bc14e30ac75c8513

fix(elasticsearch-plugin): Compatible with UUID primary keys strategy Fixes #494

view details

Michael Bromley

commit sha c52a2583cec90fa094b5962d9813bc0acceeb4c9

fix(admin-ui): Fix build-time Angular CLI warnings

view details

Michael Bromley

commit sha aa800925731dcc0589f0d8d1dc9f7f4c187a8fce

fix(admin-ui): Correctly handle missing error codes

view details

Michael Bromley

commit sha ca2c1b6da58a7ff4aa7d3466c5cf32b55cb39fa1

fix(admin-ui): Fix Apollo cache errors when switching Channels Fixes #496

view details

chladog

commit sha e1333504f91962398eb427de8a2eeffec6ed6abc

Update updating-vendure.md (#501) Fix broken link

view details

Michael Bromley

commit sha 394dcf76b6b417b058eb0a134a8a134fe03fe0ec

Merge branch 'master' into vendure-io

view details

push time in 7 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha d77dd3735a2a5c84b4a05403dd9e0df5292fe8d5

fix(docs): Add more detail to 0.16.0 migration guide

view details

push time in 7 days

pull request commentvendure-ecommerce/vendure

Fixes in migration guide

Thank you! I will also add the fulfillment state migration lines too.

chladog

comment created time in 7 days

push eventvendure-ecommerce/vendure

chladog

commit sha 4b4b07d8fd4944acc106a297ba4901e3047c3f1b

fix(docs): Fixes in 0.16.0 migration guide The migration to channel aware customers query was not correct. Fixed. Added mandatory ctx object to new style "this.connection.getEntityOrThrow()".

view details

push time in 7 days

PR merged vendure-ecommerce/vendure

Fixes in migration guide

The migration to channel aware customers query was not correct. Fixed. Added mandatory ctx object to new style "this.connection.getEntityOrThrow()".

Additionally after generating migration script I had to update the queries to update gaps in old data. Here with these bold values: await queryRunner.query(UPDATE "order" SET "state"='Delivered' WHERE "state"='Fulfilled', undefined); await queryRunner.query(ALTER TABLE "fulfillment" ADD "state" character varying NOT NULL **DEFAULT 'Delivered'**, undefined);

So maybe you want to include those updates in guide as well.

+3 -3

0 comment

1 changed file

chladog

pr closed time in 7 days

issue commentvendure-ecommerce/vendure

[Vendure Demo] Admin UI not able to login

Maybe, but I'd like users to be able to do things like creating channels which is limited to superadmins currently. Thinking of overriding the updateAdministrator mutation to disallow changes.

tiagomoucho3

comment created time in 7 days

pull request commentvendure-ecommerce/vendure

Update updating-vendure.md (Fix broken link)

Thank you!

chladog

comment created time in 7 days

push eventvendure-ecommerce/vendure

chladog

commit sha e1333504f91962398eb427de8a2eeffec6ed6abc

Update updating-vendure.md (#501) Fix broken link

view details

push time in 7 days

PR merged vendure-ecommerce/vendure

Update updating-vendure.md (Fix broken link)

Fix broken link

+1 -1

0 comment

1 changed file

chladog

pr closed time in 7 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 909479bad1f705f005a7ce8da67e381391a7aea7

fix(core): DefaultSearchPlugin correctly indexes language variants Fixes #493

view details

Michael Bromley

commit sha 9b8d278528d77a5dc6f92300a259227a40977c6d

fix(core): Restore export of ZoneService

view details

Michael Bromley

commit sha e37e5c9807676a95c89831b9173fddeeadbd06a9

fix(elasticsearch-plugin): Correctly index language variants Relates to #493

view details

Michael Bromley

commit sha b5fab60fb4391b5ea82ff56adf77c0604142c98a

chore(dev-server): Clean up config file

view details

Michael Bromley

commit sha cdf3a3951825aa2b9300f188bc14e30ac75c8513

fix(elasticsearch-plugin): Compatible with UUID primary keys strategy Fixes #494

view details

Michael Bromley

commit sha c52a2583cec90fa094b5962d9813bc0acceeb4c9

fix(admin-ui): Fix build-time Angular CLI warnings

view details

Michael Bromley

commit sha aa800925731dcc0589f0d8d1dc9f7f4c187a8fce

fix(admin-ui): Correctly handle missing error codes

view details

Michael Bromley

commit sha ca2c1b6da58a7ff4aa7d3466c5cf32b55cb39fa1

fix(admin-ui): Fix Apollo cache errors when switching Channels Fixes #496

view details

push time in 8 days

issue closedvendure-ecommerce/vendure

AdminUI - Channel Issues after upgrade to v0.16.0

Describe the bug After upgrade to v0.16.0, I faced the problem when I create or switch between the Channels, please check those pictures below for error detail.

To Reproduce image (1) image (2)

Node version: 12.18.2 Vendure version: v0.16.0

closed time in 8 days

phongnguyen91

issue closedvendure-ecommerce/vendure

No product results when combining ElasticSearchPlugin with UuidIdStrategy.

Hyphen characters from UUID strings are interpreted by the default Elastic search analyzer the same as whitespaces, splitting the UUID in parts. As a result, search via bool.filter.term matching a UUID is returning 0 results.

Explanation & potential solution: https://stackoverflow.com/a/34285845

The following query is a working as an alternative solution not having to create mappings for all id fields, although further research is probably needed to compare performance of these different solutions:

GET http://localhost:9200/_search
{
  "query": {
    "bool": {
      "filter": {
        "query_string": {
          "query": "channelId:\"bb40dab4-e680-4822-bf1a-185d4ca6c3fd\""
        }
      }
    }
  }
}

closed time in 8 days

thomas-advantitge

issue closedvendure-ecommerce/vendure

Search query can't be localized

Describe the bug The issue is related to the universal parameter used to localize graphql query responses. I'm using the Search query and Apollo Client configured with an endpoint including the universal language parameter (.../shop-api?languageCode=en) but I tested the field search.items.productName and it's always returned in the default language. The same happens from the graphql playground.

To Reproduce Steps to reproduce the behavior:

  1. Use the language parameter for the gql endpoint
  2. Test search query with a bilingual product database
  3. Try to query with different language parametets
  4. Notice response always in the default language

Expected behavior Query response should be correctly localized based on the language parameter

Environment (please complete the following information):

  • @vendure/core version: 0.15
  • Database (mysql/postgres etc): postgres

closed time in 8 days

cleverupdev

issue commentvendure-ecommerce/vendure

[Vendure Demo] Admin UI not able to login

This is the public demo. I checked it and can confirm. I guess someone changed the password of the superadmin account. I should probably disable that somehow!

tiagomoucho3

comment created time in 8 days

issue commentvendure-ecommerce/vendure

Custom error status on AuthenticationStrategy

Yes, that would be helpful!

A few pointers:

I'd add a authenticationError: String! field to: https://github.com/vendure-ecommerce/vendure/blob/db1893a9bf46fc95f918e9f99db2e4472d5a6c9d/packages/core/src/api/schema/common/common-types.graphql#L201-L204

Then if you run the codegen script it will update the generated class in this file and the constructor will now expect an argument for the authenticationError value.

Then in the AuthService you'd add a typeof user === 'string' check here and pass the value to the error constructor: https://github.com/vendure-ecommerce/vendure/blob/db1893a9bf46fc95f918e9f99db2e4472d5a6c9d/packages/core/src/service/services/auth.service.ts#L57-L60

Also adding an e2e test to https://github.com/vendure-ecommerce/vendure/blob/master/packages/core/e2e/authentication-strategy.e2e-spec.ts would be great.

macabeus

comment created time in 8 days

pull request commentvendure-ecommerce/vendure

fix(docs): update findCustomerUser call

Thanks!

macabeus

comment created time in 8 days

push eventvendure-ecommerce/vendure

Bruno Macabeus

commit sha db1893a9bf46fc95f918e9f99db2e4472d5a6c9d

fix(docs): update findCustomerUser call

view details

push time in 8 days

PR merged vendure-ecommerce/vendure

fix(docs): update findCustomerUser call

On Vendure 0.16.0, now findCustomerUser requires ctx parameter

+1 -1

0 comment

1 changed file

macabeus

pr closed time in 8 days

issue commentvendure-ecommerce/vendure

Custom error status on AuthenticationStrategy

Thanks for the suggestion - I agree and this should be quite straightforward to add.

Another way, in order to not have break change, is changing the return type to Promise<User | false | string> - but it could be confused about what string means.

I think this is ok, since it will be documented. Also, allowing a false return value means you are not forced to think up some error message if you don't need one.

macabeus

comment created time in 8 days

CommitCommentEvent

issue commentvendure-ecommerce/vendure

Add locale online service to translate Vendure

I just submitted a request for the open-source free Crowdin plan. However, one of the conditions of the plan is that:

You do not have any commercial products related to the open-source project you are requesting a license for.

This is true of Vendure for now, though I do have plans to offer commercial products related to the MIT parts. I made this clear in my application, so let's see what they say.

If we cannot use the free plan, I'm afraid I cannot justify $25/month for the plan we would need. In that case I'll look into some other options around l10n tooling.

jonyw4

comment created time in 9 days

issue commentvendure-ecommerce/vendure

Promotions applicable to products/categories

I think this could even be achieved in a plugin.

Yes, I think this would be feasible. And also an ideal outcome, IMO. If we are able to use the existing features to build more complex plugins on top of, then that's a good validation of the design. Let's leave this open and you can update with any blockers that prevent a plugin-based solution.

hendrikdepauw

comment created time in 10 days

issue commentvendure-ecommerce/vendure

Promotions applicable to products/categories

Hi,

Your suggestion sounds very much like the current implementation of Collections, whereby:

  • A configurable set of criteria (filters) are set of the Collection
  • This triggers a worker process to populate the Collection <-> ProductVariant relations on save

The key difference (and the real challenge here) is that PromotionConditions do not only operate on the ProductVariant properties. E.g. you can have a promotion that activates if the customer if a member of a particular CustomerGroup, or if the order total is greater than $100. How do we handle the relation in cases such as these?

I'm not sure what a good solution to this would be. Maybe we could somehow mark certain PromotionConditions as "this condition affects the ProductVariant relationship". But I'm not sure I like that approach.

A different way to solve it would be to leverage the existing affordances:

  • create a Collection named "Winter Promotion" and set up the filters to include the ProductVariants you want to include.
  • create a Promotion with the sole condition that "must belong to the Winter Promotion collection"

Now you can already access which ProductVariants are members of this collection. You could even store metadata on the collection as custom fields. Would something like that work for your case?

hendrikdepauw

comment created time in 10 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 4cb1ec5d59a0ebfb7317910b3ddd8c0cb5e6dd8c

fix(docs): Update example mutation on landing page

view details

push time in 13 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 6fb13e4fa1193ce9cd70ab638611282ad78f25d5

fix(docs): Update example mutation on landing page

view details

push time in 13 days

created tagvendure-ecommerce/vendure

tagv0.16.0

A headless GraphQL ecommerce framework for the modern web

created time in 13 days

created tagvendure-ecommerce/vendure

tagv0.15.2

A headless GraphQL ecommerce framework for the modern web

created time in 13 days

push eventvendure-ecommerce/vendure-docker-compose

Michael Bromley

commit sha bb0309a7a9b62a6ae5bc4461eb63387d69c86d8a

chore: Update to Vendure v0.16.0

view details

push time in 13 days

push eventvendure-ecommerce/plugin-template

Michael Bromley

commit sha da5c9907c585da9985c3aacd36da28a16f4b7e50

chore: Update devDependencies

view details

Michael Bromley

commit sha 386faa2bcb4315c5a1564862bbd2e8d55b64cfb7

chore: Update to Vendure v0.16.0

view details

push time in 13 days

push eventvendure-ecommerce/vendure-demo

Michael Bromley

commit sha 33ebdf5964fb1ce1141cfa69af4e32812a5ffef1

Update Vendure to v0.16.0

view details

push time in 13 days

push eventvendure-ecommerce/real-world-vendure

Michael Bromley

commit sha 2c31991d036cfb37a297f1ec2acaa156d27627dc

Update graphql-code-generator version

view details

Michael Bromley

commit sha 94de30ebba6279b96b1bce4ed7704740ae239bf7

Update Braintree client lib

view details

Michael Bromley

commit sha 9b474cb2fb2e923c376984d9b1710397bf7eb054

Update eslint & related deps

view details

Michael Bromley

commit sha 2be58ceaf0af0531ff2b24d17741ba979294955e

Update Jest & related deps

view details

Michael Bromley

commit sha 61cb19f1cbfc4de851018a8e55afd33f8351d0f0

Update to Vendure v0.16.0

view details

push time in 13 days

created tagvendure-ecommerce/storefront

tagv0.1.21

An example storefront PWA for Vendure built with Angular

created time in 13 days

push eventvendure-ecommerce/storefront

Michael Bromley

commit sha 70e1582b0d2001291f133797980ea187df34ea19

chore: Update graphql-code-generator to latest

view details

Michael Bromley

commit sha 3d1a280b6434e5bd1cdd1b437506a1f11273568f

chore: Update to use Vendure v0.16.0 ErrorResult APIs

view details

Michael Bromley

commit sha 745d3af7fea5423e3f217f4db68099651240a430

chore: Update Angular, Apollo Client & other deps

view details

Michael Bromley

commit sha 103ac5605b6a614ddc1c3f8eb4dc13144a6c1cce

chore: Update yarn lockfile

view details

Michael Bromley

commit sha c1e157b643e56a4573835982b59366e4bc18d602

chore: bump version to v0.1.21

view details

push time in 13 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 82b54e61e0ee5a79001360d128a0862e322ba874

feat(core): Create unit-of-work infrastructure for transactions Relates to #242

view details

Michael Bromley

commit sha 9686da487dfaae1724978baf7a48f4c81c665a3c

chore(core): Update Nest deps

view details

Michael Bromley

commit sha 09e48acedd61026936f698bda8bafb217070f9a8

refactor(core): Replace TypeORM Connection with TransactionalConnection

view details

Michael Bromley

commit sha 4040089a611df048953b73c82eff69ae5ad5f552

feat(core): Create Transaction decorator

view details

Michael Bromley

commit sha b5f41f04f79ac15e3656b879beb6f118a381b4e2

refactor(core): Pass RequestContext into TransactionalConnection

view details

Jonathan Célio

commit sha 70a76655100071221e0da44446198a12f1fd7067

feat(core): Implement a state machine for Fulfillments * feat(core): Implement a state machine in Fulfillment * refactor: Update fulfillment state * refactor(core): Add hisory entry type from order fulfillment transition * refactor(core): Order fulfillment card using fulfillment state label * chore: Add order fulfillment proccess in vendure config * chore: Add HistoryEntryType ORDER_FULFILLMENT_TRANSITION * refactor: Remove order fulfillment angular components * chore: Add fulfillment state transition event * chore: Add fulfillment state transition event * chore: Add functions related to fulfillment state in order service * chore: Add fulfillment state resolvers * refactor: Move fulfillment options to shipping options * refactor: Extract all fulfillment fn in Order services to a new class * refactor: Make find order by fulfillment check by channel * chore: Change OrderState from PartiallyFulfilled to PartiallyDelivered * chore: Change OrderState from Fulfilled to Delivered * feat: Add Shipped as a new state in OrderState * chore: Remove verification to transit state when create a fulfillment * chore: Make order service injectable * refactor: Fulfillment service method findOrderByFulfillment * refactor: Change order state automatically in FulfillmentStateMachine * chore: Update test state transitions * refactor: Remove FulfillmentService from OrderService * chore: Update generated types and schema * refactor: Change transittion fulfillment to a new Fulfillment resolver * chore: Update generated types * refactor: Change create fulfillment from Order to Fulfillment service * test: Update Order failed tests * refactor: Move fulfillment transition to order service * feat: Add PartiallyShipped as a new state in OrderState * chore: Update generated schema * refactor: Add logic to verify transit PartiallyShipped order state * chore: Add i18n message for new transition check * chore: Change old state-fulfilled to state-delivered * chore: Change old state-partially-fulfilled to state-partially-delivered * fix: Misspelled fullfillment to fulfillment * chore: Update generated types * refactor: Remove refunded from fulfillment state * refactor: Remove old imports from fulfillment state machine * refactor: Make fulfillment services receive a list of order * test: Update Order E2E tests * chore: Add new fulfillment helpers services in export * refactor: Add admin fulfillment entity in providers list * chore: Update generared types * test: Update order and fulfillment e2e tests * chore: Lint fulfimment service * chore: Move e2e fulfillment gql to shared definitions

view details

Michael Bromley

commit sha b40209e011fb9fbd35cf8b83432bc4ba012b012f

feat(core): Run all mutations within transactions Relates to #242 BREAKING CHANGE: The TypeORM `Connection` should no longer be directly used. Instead, inject the new `TransactionalConnection` class, which wraps the TypeORM connection and enables database transactions to be used in conjunction with the new `@Transaction` decorator. The `getEntityOrThrow()` and `findOneInChannel()` helper functions have been deprecated and replaced by methods with the same name (but slightly different signature) on the TransactionalConnection class.

view details

Michael Bromley

commit sha 7c294916d5b5dfa2a2389097d0013cb0517cd160

chore: Update load test query to match latest API

view details

Hendrik Depauw

commit sha 0f7347336f1e107373202826b38cfceddb57b1b0

feat(core): Make Customers ChannelAware * feat(core): Make Customers ChannelAware * test(core): Fix unit tests for ChannelAware Customers * fix(core): Finalize ChannelAware Customers implementation * fix(core): Implement review comments Co-authored-by: hendrikdepauw <hendrik@advantitge.com>

view details

Michael Bromley

commit sha 89e84be3c8e7d07d356b85e5f319270c67b54539

chore: Update load test query to match latest API

view details

Michael Bromley

commit sha 5fd5fe681b7c4cc4040b91a65734dd3f8ffd2ca7

refactor(core): Simplify transaction implementation, add manual mode

view details

Michael Bromley

commit sha 544cfd377c5630ffa05c92b7c994736b76c08ab9

chore: Run build and test on all branches

view details

Michael Bromley

commit sha 44a05434ce06e6c20b79593f25cb9ae76480a573

Merge branch 'next' into transactions

view details

Michael Bromley

commit sha ff0d1535bbdfa21f0217bc9809cd3c678106f0f6

Merge branch 'master' into next

view details

Michael Bromley

commit sha 657949e39368aac996379c631693e439c336856f

chore: Move duplicated e2e definitions to shared file

view details

Michael Bromley

commit sha 8232ddce0b03f8f1b30e8d02563d5fe2d5f5ebe8

feat(core): Use transaction to update Fulfillment state

view details

Michael Bromley

commit sha 7883a7ac3175bffdfc97891edd23ab8a1dfb7d0a

feat(admin-ui): Handle Fulfillments state from Order detail view Relates to #426

view details

Michael Bromley

commit sha db377072f4271515e9d03e66f2d898079f08b6d2

feat(admin-ui): Make order history collapsible

view details

Michael Bromley

commit sha 9b2c088f43acd546b2034a2190e99cbe6e5aa844

fix(core): Correctly transition Order on Fulfillment transitions

view details

Michael Bromley

commit sha 0c0a7b207829e13eb9a3d5b255f3a7ca323f4a02

feat(core): Create improved error-handling infrastructure This commit introduces a new graphql-code-generator plugin which generates error classes and supporting code to enable error result union types as described in #437

view details

push time in 13 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 05f6bc425d1a5f1caf23deed48e9eab6aaf64a31

feat(docs): Add preview image to blog list, fix pagination styles

view details

Michael Bromley

commit sha 52d92716d3e4c99662b0df714576513aa0ab7e13

feat(docs): Show blog table of contents

view details

Michael Bromley

commit sha 38f65a6fa88f9b708525c74b4b2e4cabd1d10288

chore: Publish v0.16.0

view details

Michael Bromley

commit sha f081d63a09f2fbc36c293e8464d4c92bab664ca6

chore: Fix formatting in changelog

view details

push time in 13 days

pull request commentmichaelbromley/css-space-shooter

Updated README.md

Hi, Thanks for your interest but I'm happy with how the readme is already.

adityapatra01

comment created time in 13 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha a384b88c8e7d2ee84fa8c14807424b3f68ac1773

test: Fix smoke test script

view details

Michael Bromley

commit sha b275c209ae1789c4bbd024e30c1d9c0ebda16980

fix(core): Fix NativeAuthenticationStrategy user lookup Relates to #486

view details

push time in 15 days

issue commentvendure-ecommerce/vendure

"The credentials did not match" / UNAUTHORIZED error when logging in with dot (.) in email address

I'm not 100% sure that this is the cause, but I have discovered a bug in the NativeAuthenticationStrategy:

Reproduction

  1. Create a verified Customer (either via Shop API or Admin API - doesn't matter) with email address 'test@test.com'
  2. Delete that Customer via the Admin UI
  3. Create a new Customer, also with the email address 'test@test.com' but a different password than the first
  4. Attempt to log in as that Customer.
  5. Get "invalid credentials" error.

The reason is this method in NativeAuthenticationStrategy:

https://github.com/vendure-ecommerce/vendure/blob/560ff468ed9c5a51d80c3812e71268742e2167fb/packages/core/src/config/auth/native-authentication-strategy.ts#L62-L67

This DB lookup is not adding the deletedAt: null condition, so it will find the first (deleted) User and the passwords will not match.

Adding an e2e test for this with the fix.

michaelbromley

comment created time in 15 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 5c4621c044a04a4fba1468270806fc896a74ddab

test: Update smoke test script

view details

Michael Bromley

commit sha 560ff468ed9c5a51d80c3812e71268742e2167fb

docs: Add link to GoMo site

view details

push time in 15 days

issue openedvendure-ecommerce/vendure

"The credentials did not match" / UNAUTHORIZED error when logging in with dot (.) in email address

Describe the bug I've now received 2 reports of users who had trouble logging in to Customer accounts when the email address contained a dot.

  1. In the first case, the Customer was created & verified in one step via the Admin UI. Eventually he concluded:

    I found out the problem... seems inside first part of the email address, there cannot be a dot...(strange)... as i use raymond.pang@XXX.XXX is not ok, but it works after I change to raymondpang@XXX.XXX

    No idea bout the Vendure version for that one.

  2. In the second case, the Customer was created via registerCustomerAccount and then verified via verifyCustomerAccount. Upon verification, the Customer is authenticated successfully. However, after logging out and attempting to login again, the user got the error:

    {
      "errors": [
        {
          "message": "The credentials did not match. Please check and try again",
          "locations": [
            {
              "line": 2,
              "column": 3
            }
          ],
          "path": [
            "login"
          ],
          "extensions": {
            "code": "UNAUTHORIZED"
          }
        }
      ],
      "data": null
    }
    

    This user was using Vendure v0.15.0, on Windows 10. The email address was of the format username06.first@gmail.com User confirmed that using an email address without a dot in the first part fixed the issue.

To Reproduce I cannot reproduce this on the current (v0.16.0) master branch. I also did a fresh @vendure/create@0.15.0 install and again failed to reproduce the issue.

So I am creating this issue to see if we can collect any more instances & data to help reproduce. If you are running into this, please comment below and (ideally) provide a repo that reproduces the issue.

created time in 15 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 82b54e61e0ee5a79001360d128a0862e322ba874

feat(core): Create unit-of-work infrastructure for transactions Relates to #242

view details

Michael Bromley

commit sha 9686da487dfaae1724978baf7a48f4c81c665a3c

chore(core): Update Nest deps

view details

Michael Bromley

commit sha 09e48acedd61026936f698bda8bafb217070f9a8

refactor(core): Replace TypeORM Connection with TransactionalConnection

view details

Michael Bromley

commit sha 4040089a611df048953b73c82eff69ae5ad5f552

feat(core): Create Transaction decorator

view details

Michael Bromley

commit sha b5f41f04f79ac15e3656b879beb6f118a381b4e2

refactor(core): Pass RequestContext into TransactionalConnection

view details

Jonathan Célio

commit sha 70a76655100071221e0da44446198a12f1fd7067

feat(core): Implement a state machine for Fulfillments * feat(core): Implement a state machine in Fulfillment * refactor: Update fulfillment state * refactor(core): Add hisory entry type from order fulfillment transition * refactor(core): Order fulfillment card using fulfillment state label * chore: Add order fulfillment proccess in vendure config * chore: Add HistoryEntryType ORDER_FULFILLMENT_TRANSITION * refactor: Remove order fulfillment angular components * chore: Add fulfillment state transition event * chore: Add fulfillment state transition event * chore: Add functions related to fulfillment state in order service * chore: Add fulfillment state resolvers * refactor: Move fulfillment options to shipping options * refactor: Extract all fulfillment fn in Order services to a new class * refactor: Make find order by fulfillment check by channel * chore: Change OrderState from PartiallyFulfilled to PartiallyDelivered * chore: Change OrderState from Fulfilled to Delivered * feat: Add Shipped as a new state in OrderState * chore: Remove verification to transit state when create a fulfillment * chore: Make order service injectable * refactor: Fulfillment service method findOrderByFulfillment * refactor: Change order state automatically in FulfillmentStateMachine * chore: Update test state transitions * refactor: Remove FulfillmentService from OrderService * chore: Update generated types and schema * refactor: Change transittion fulfillment to a new Fulfillment resolver * chore: Update generated types * refactor: Change create fulfillment from Order to Fulfillment service * test: Update Order failed tests * refactor: Move fulfillment transition to order service * feat: Add PartiallyShipped as a new state in OrderState * chore: Update generated schema * refactor: Add logic to verify transit PartiallyShipped order state * chore: Add i18n message for new transition check * chore: Change old state-fulfilled to state-delivered * chore: Change old state-partially-fulfilled to state-partially-delivered * fix: Misspelled fullfillment to fulfillment * chore: Update generated types * refactor: Remove refunded from fulfillment state * refactor: Remove old imports from fulfillment state machine * refactor: Make fulfillment services receive a list of order * test: Update Order E2E tests * chore: Add new fulfillment helpers services in export * refactor: Add admin fulfillment entity in providers list * chore: Update generared types * test: Update order and fulfillment e2e tests * chore: Lint fulfimment service * chore: Move e2e fulfillment gql to shared definitions

view details

Michael Bromley

commit sha b40209e011fb9fbd35cf8b83432bc4ba012b012f

feat(core): Run all mutations within transactions Relates to #242 BREAKING CHANGE: The TypeORM `Connection` should no longer be directly used. Instead, inject the new `TransactionalConnection` class, which wraps the TypeORM connection and enables database transactions to be used in conjunction with the new `@Transaction` decorator. The `getEntityOrThrow()` and `findOneInChannel()` helper functions have been deprecated and replaced by methods with the same name (but slightly different signature) on the TransactionalConnection class.

view details

Michael Bromley

commit sha 7c294916d5b5dfa2a2389097d0013cb0517cd160

chore: Update load test query to match latest API

view details

Hendrik Depauw

commit sha 0f7347336f1e107373202826b38cfceddb57b1b0

feat(core): Make Customers ChannelAware * feat(core): Make Customers ChannelAware * test(core): Fix unit tests for ChannelAware Customers * fix(core): Finalize ChannelAware Customers implementation * fix(core): Implement review comments Co-authored-by: hendrikdepauw <hendrik@advantitge.com>

view details

Michael Bromley

commit sha 89e84be3c8e7d07d356b85e5f319270c67b54539

chore: Update load test query to match latest API

view details

Michael Bromley

commit sha 5fd5fe681b7c4cc4040b91a65734dd3f8ffd2ca7

refactor(core): Simplify transaction implementation, add manual mode

view details

Michael Bromley

commit sha 544cfd377c5630ffa05c92b7c994736b76c08ab9

chore: Run build and test on all branches

view details

Michael Bromley

commit sha 44a05434ce06e6c20b79593f25cb9ae76480a573

Merge branch 'next' into transactions

view details

Michael Bromley

commit sha ff0d1535bbdfa21f0217bc9809cd3c678106f0f6

Merge branch 'master' into next

view details

Michael Bromley

commit sha 657949e39368aac996379c631693e439c336856f

chore: Move duplicated e2e definitions to shared file

view details

Michael Bromley

commit sha 8232ddce0b03f8f1b30e8d02563d5fe2d5f5ebe8

feat(core): Use transaction to update Fulfillment state

view details

Michael Bromley

commit sha 7883a7ac3175bffdfc97891edd23ab8a1dfb7d0a

feat(admin-ui): Handle Fulfillments state from Order detail view Relates to #426

view details

Michael Bromley

commit sha db377072f4271515e9d03e66f2d898079f08b6d2

feat(admin-ui): Make order history collapsible

view details

Michael Bromley

commit sha 9b2c088f43acd546b2034a2190e99cbe6e5aa844

fix(core): Correctly transition Order on Fulfillment transitions

view details

Michael Bromley

commit sha 0c0a7b207829e13eb9a3d5b255f3a7ca323f4a02

feat(core): Create improved error-handling infrastructure This commit introduces a new graphql-code-generator plugin which generates error classes and supporting code to enable error result union types as described in #437

view details

push time in 15 days

push eventvendure-ecommerce/vendure

Michael Bromley

commit sha 1099eb688af7bd3d1493741cf691a5523d634bcb

test(core): Update snapshots Updating to graphql-js v15 seems to have altered the order of generated types

view details

push time in 15 days

more