v4.0.0
Breaking changes:
if you have customized your transaction process, you need to update the email templates. The new customer commission (#293) adds changes to emails that contain a receipt aka order breakdown information. In addition, also PR #310 touches the email templates.
This release also prepares the codebase for future configuration possibilities:
- Postponing the requirement (for a provider) to give payout details before publishing a listing
- Payout details are still needed before orders can work. (see #297)
- This feature makes it a bit more clear for operators, if potential provider needs help with Stripe onboarding.
- Makes certain listing features optional (location, delivery method)
- Adds infinity stock (It is emulated through a big number 10^15)
This adds a new environment variable: REACT_APP_MARKETPLACE_NAME. It makes it a bit easier to work with multiple app instances (for Live, Test, Dev).
Note: you have probably changed src/util/configDefault.js to use your own marketplace name instead of 'Biketribe'. Check that the line doesn't use 'Biketribe' if you take an update from the upstream!
marketplaceName: process.env.REACT_APP_MARKETPLACE_NAME || 'Biketribe',
More components are now code-splitted: Topbar, FieldDateInput, FieldDateRangeInput, FieldDateRangeController
Translations changes
New translation keys:
"CheckoutPage.destinationAccountNotCompleteStripeError": "This listing is currently unavailable because the listing author's payout information is incomplete. Your card hasn't been charged. Please contact support.",
"ListingPage.addPayoutDetails": "Add payout details",
"ListingPage.addPayoutDetailsMessage": "Please add your payout details to start accepting orders.",
"ListingPage.payoutDetailsWarning": "This listing is not available {processType, select, booking {for booking} other {for purchase}}. You have not added your payout details yet.",
"ListingPage.payoutDetailsWarningLink": "Add your payout details",
"ProductOrderForm.ownListing": "This is your own listing.",
"EditListingPricingAndStockForm.updateToInfinite": "Update the stock of this listing to “infinite”",
"EditListingPricingAndStockForm.updateToInfiniteInfo": "<b>The stock type of this listing type has changed.</b> The stock of this listing is currently {currentStock}, but listings in this listing type should now have “infinite” stock.",
"EditListingPricingAndStockForm.updateToInfiniteRequired": "You need to update the stock of this listing to infinite to save changes.",
Old translations with updated arguments:
The deliveryMethod argument in the following translations has a new value 'none' if deliveryMethod doesn't exist. The change affects these (but 'none' is not included in the default translation as the other scenario works fine for it too):
"TransactionPage.ActivityFeed.default-purchase.delivered": "{deliveryMethod, select, shipping {The listing was shipped.} other {The listing was delivered.}}",
"TransactionPage.default-purchase.customer.purchased.extraInfo": "{deliveryMethod, select, shipping {You'll be notified when {providerName} ships the item.} other {Use the chat function below to agree on a time for pickup.}}",
The role argument added for the following translation:
"OrderBreakdown.commission": "{role, select, customer {{marketplaceName} fee *} provider {{marketplaceName} fee *} other {}}",
Updates to existing translations:
"CheckoutPage.providerStripeAccountMissingError": "This listing is currently unavailable because the listing author hasn't added their payout details yet. Please contact support.",
"EditListingPricingAndStockForm.oldStockTotalWasOutOfSync": "Oops, the stock of this listing is out of sync. Someone might just have bought this item. Please refresh the page and try again.",
"EditListingWizard.default-booking.new.saveAvailability": "Next",
"EditListingWizard.default-booking.new.saveDetails": "Next",
"EditListingWizard.default-booking.new.saveLocation": "Next",
"EditListingWizard.default-booking.new.savePhotos": "Publish listing",
"EditListingWizard.default-booking.new.savePricing": "Next",
"EditListingWizard.default-inquiry.new.saveDetails": "Next",
"EditListingWizard.default-inquiry.new.saveLocation": "Next",
"EditListingWizard.default-inquiry.new.saveLocationNoPricingTab": "Next",
"EditListingWizard.default-inquiry.new.savePhotos": "Publish listing",
"EditListingWizard.default-inquiry.new.savePricing": "Next",
"EditListingWizard.default-purchase.new.saveDelivery": "Next",
"EditListingWizard.default-purchase.new.saveDetails": "Next",
"EditListingWizard.default-purchase.new.savePhotos": "Publish listing",
"EditListingWizard.default-purchase.new.savePricingAndStock": "Next",
Changes 2024-02-07
- [add] Update de.json asset. #313
- [add] Update fr.json asset. #311
- [add] Update translation assets for German, French, and Spanish.
#309 - [change] Update default email templates (no need to use triple handlebars anymore).
#310 - [add] Add stock types: infiniteOneItem and infiniteMultipleItems (faked through 10^15)
#299 - [change] Make location and delivery method configurable on EditListingWizard. This just prepares
the codebase for an upcoming feature, when the configuration is ready on Console.
#298 - [change] Make the requirement of payout details configurable on EditListingWizard. This just
prepares the codebase for an upcoming feature, when the configuration is ready on Console.
#297 - [fix] The destructuring of undefined commissionAsset variable can't be against null.
#308 - [change] Allow distinguishing customer and provider commission translations in OrderBreakdown and
email templates #307 - [change] Add environment variable REACT_APP_MARKETPLACE_NAME and add code-comments to built-in
configs about hosted configs, which might overwrite them. Check that the line doesn't use
'Biketribe' if you take an update from the upstream!
#305 - [change] Updated a small patch of outdated libraries: express, body-parser, moment,
moment-timezone, helmet, nodemon, decimal.js, concurrently, classnames, jose, passport
#304 - [add] CSP: add new rules: *.analytics.google.com and *.giphy.com
#303 - [change] Fetch customer commission from assets and add handling. This update introduces changes to
the transaction process email templates, so the transaction process needs to be updated in
Sharetribe backend. #293 - [change] ext/ directory: update email translation defaults for no-delivery-method scenario.
#292 - [change] Code-split FieldDateInput, FieldDateRangeInput, FieldDateRangeController. The consequence
is that react-dates library is code-splitted too.
#290 - [change] Move IconCard under SaveCardDetails (might be code-splitted later).
#283 - [change] Code-split Topbar component and move it under TopbarContainer.
#282 - [fix] AuthenticationPage/lodash: do not import the whole library.
#288 - [change] PageBuilder/YoutubeEmbed: add rel=0 search param (show related videos only from the same channel).
This also adds width and height to iframe element.
#286 - [fix] FieldRadioButton: disabled style was missing.
#284 - [fix] Add missing imports to an email template file
#279