Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release v0.17.0 #1506

Merged
merged 75 commits into from
Oct 19, 2016
Merged

release v0.17.0 #1506

merged 75 commits into from
Oct 19, 2016

Conversation

aaronjudd
Copy link
Contributor

@aaronjudd aaronjudd commented Oct 19, 2016

New Features

  • Accounts Search
  • Orders Search
  • Order confirmation email template
    • full order items, summary, address
  • Search Sorting / Filtering

Product Detail Page

  • revisions for all elements
  • publish changes workflow
  • private / public visibility
  • archival
  • new React components
  • is still a "simple" product with variants
  • enable or disable revision product type
  • retains existing product-variants for non-revision

Changes:

Contributors

@EpifaniaCollection @markdowney @joseconstela @spencern @priezz @callmephilip

mikemurray and others added 30 commits August 26, 2016 15:10
* METEOR@1.4.1.1

- METEOR@1.4.1.1
- updated Meteor packages, collections2

* version 0.15.2
- release 0.15.3
* First round setting up acceptance test capabilities

* webdriver working

* adding meteor ignore file structure

* create tests directory

* adding png to gitignore

* element maps

* More progress on functional test setup

* fixed assert

* using dot notation

* adding chai to dev packages

* Begin adding acceptance testing instructions to readme

* Simple login test complete

* Adding to readme about failed tests screenshots

* adding stuff

* Core permissions acceptance test

* more fixes

* went off the deep end. added some low hanging fruit tests

* enabling all passing tests for now

* fixed userAddress call

* removing docs from main readme

* linting for config fixed

* more cleanup

* additional cleanup

* using chrome instead of firefox now since ff is borked

* adding refund test

* a couple more refund tests w/ a couple fixes

Will add more assertions later for these tests.

* adding new tests to runner

* argh

* remove screenshot

* remove ignore of all .png

* updated package.json

* updated reaction.json.example

* finishing up PR

* lint cleanup

* temp workaround for missing product in store

* A couple locator changes - commented out broken stripe tests
* allow multiple languages in Translations

- allow array to pass multiple languages in addition to shopLanguage.

* updated i18next and Translation load order

* remove session handling from i18n

- remove “language” session
- rely on Meteor.user updates (stored lang in profile)
- update i18nchooser helpers to insert user profile lang into selected
element class

* retain language on anonymous user registration

* check admin before setting lang

— don’t set lang on initial admin

* updated accounts.js

- cleanup checks
* turning verbosity off when running tests by default

* Removing sleeps/pauses when I can

* flaky test fix

* #1347 cut runtime down by nearly 50%

This is still just running synchronously. As tests grows we will need
to look into running tests in parallel, however this might require some
infrastructure in place, i.e. a hosted QA environment. An environment
that can handle the load of 5-10 tests hitting it at a time.
* only build Docker image on master/development

* chmod +x
* disabled ranges

- TODO ranges are not functional yet.

* update shipping form methods

* remove settings from registry

* update swal version

- updated sweetAlert2 version

* export Import, Fixture

- export Fixture independently of Import
- refactor Import.shipping to use a modified key
- refactor load-data to use Fixture

* updated Shipping schema

* updated shipping method names

- breaking change: shipping method names updated to follow convention
of Reaction
`updateShippingMethods` becomes `shipping/methods/update`.
- adds `shipping/provider/remove` method

* add missing import

* convert info logging to debug

* updated form methods

- update form methods
- add SWAL2 confirmations

* add handling to cart rates

- if `handling` has data add `handling` to `rate`.

* updated cartTransforms

- updated to use own methods and parse float to ensure consistent
results.

* move shipping from included to core

like taxes, the core will include flat rates and the ui handling for
additional  shipping methods, which will be added to included - in the
form of `shipping-shippo` etc.
* Mock Search Files

* Mock Search Files

* Remove addProduct method

* Remove Fixtures to remove mystery Shop

* Super limited, even for a fake search

* Don't overwrite the descriptions on first run

* Larger data set for testing

* Don't log unless we are actually adding Search Products

* A simple weighted product search

* Split out plug ins into "search" and "searchEngine" plugs.

* Improve product title search, add search settings panel

* Add in variant search

* Add more options for weighting. Make the settings panel better.

* Add tags to results and search on description

* Rename plugin to be consistent with others

* Add example config file

* New test data with "show store" model with tags

* Simple product subscription that returns products and facets (tags) for a searchterm

* Only return ids and names of tags (we will eventually only return ids, but names for readability for now)

* Filter by tags

* We only need one plugin since our decoupling is provided by the use of a publication

* Rename plugin

* Using Mongo full-text search rather than regex search

* Using Mongo full-text search rather than regex search

* alphabetize base-style imports

* Add in hooks to keep PS collection updated

* Move build/rebuild functions into module

* New settings for fields and weights

* New settings for fields and weights

* add in hooks

* New settings for fields and weights

* Build PS collection dynamically based on configuration

* Add in vendor to list of possible fields

* initial push of search UI

* Move collections to lib so that clients can subscribe

* Add shopId to required fields

* Move collections to global collections

* Use ProductSearch collection on the client side

* Filter tags by hashtags in ProductSearch results

* Populate template with search results

* Product search results sorted by score in Ascending order

* Move (re)building search collections to job queue

* Handle form with a method so that we can rebuild collection or index when settings change

* Queue job to rebuild indexes when weights have changed

* Don't run search hooks when ProductSearch collection has not been defined

* Add Order search

* Namespace product settings

* Don't run hooks when under test

* Add missing "shopId" field

* More fixes to make OrderSearch collection configurable.

* Ensure index when inserting product records

* testing larger datasets

* Make function names less ridiculously long

* Pass results without relying on the product already existing in the subscription

* Don't add a bunch of products for testing by default

* style cleanup

* style cleanup

* style cleanup

* Add handle to product search collection

* Clarify log statement

* Ensure but don't drop collections when creating an OrderSearch record

* No longer build productResults on the client

* Cleanup and add `maxResults`

* Cleanup settings form

* Don't queue search collection jobs when under test

* Search result tests

* Add price to results. Make results different based upon logged-in status

* Add tests for non-published products not showing up for anonymous users

* Add tests for non-published products not showing up for anonymous users

* Add account search, jobs, etc.

* Change account search to not use text search

* ui initial push

* conflict temporary fix

* move style into less

* i18n for search

* added delay on fadeout to feign smoother transition

* sped up tag color transitions

* componentize search results content

* componentize search results grid

* style updates for search modal

* get media to show in searchGrid

* updated id date for searchGridIcons

* Use hashtags not hastags

* Change order search to use a regular query plus tests

* removed console.log

* fixed typo

* switched content order

* commit of admin buttons (currently not functional)

* Add support for text indexes in other supported languages

* Make order search results case-insensitive

* close button classes

* removed outline from nav

* removed additional media from search

We only need to show one picture in search, for now at least

* updated text

* added search clear

* style updates

* Delete all existing records when rebuilding account search

* Remove startup test files

* Also remove test data files

* Make logging less chatty

* Allow for transformations outside of the ProductSearch method

* convert tags to flexbox

* style updates

* adding scroll tag container

* clean-up of development comments

* LESS cleanup

* style cleanup

* style updates

* 96% width input & tags

formerly 80%

* move some styling from search.less to navbar.less

* cleanup & i18n

* remove errant button

* changed tag active color to ban-active

* Add documentation around "supported language" as suggested by CR

* added i18n to search

* changed search tags to use btn classes

* disable currently unused admin controls

* rtl support

* rtl style adjustments
* Exclude anonymous users from accounts publication when logged in as admin

* NPM imports first
- Patch _.pluck = _.map in lodash 4.x
- resolves issue introduced in #1390
* metafields -> details for client visibility

* metafields -> details
* add margin-bottom to hovered product for better visibility on last product

* removed font-size from .btn.flat

* created react flatButton

created a new react button component so we aren’t just if/elseing our
way through a different type of button to get what we need.

* adjustment for #1402 - added overflow toggle on body

* removed font size from btn-round

* allow ESC to exit modal even when not focused on input
* updated README.md

* update to v0.16.0
brent-hoover and others added 18 commits October 4, 2016 11:55
* clean up unused or unnecessary build deps

* install all npm deps in first Meteor build step

* create new base Docker image for better build caching

* install MongoDB in container and use it if no external MONGO_URL is found

* move deps versions to Dockerfile only for easier maintenance

* fix custom package file script

* add build script for full Docker build of base and app

* fix lodash/camelcase import that was breaking the production build

* npm updates

* update CircleCI scripts to use new Docker build
* Updated publish controls UX and fixing issues

- Fix bug causing error in console when publishing nothing.
- Disabled the publish button if there is nothing to publish.
- Added alert toasts for successful and unsuccessful publish.
- Publish controls now properly finds relevant revisions.

* Fixed typo

* Fixed typo in comment
* Updated loader component to be consistent with other spinners

Added loader for PDP container.
Added a basic circular progress component.
Removed domkit package.
Replaced loader with already available spinner component through CSS.

* Renamed loading.jsx to loading.js. JSX extension is unnecessary.
* Fixed bug that caused visibility button to not save a change.

* Address issue where visibility icon button could only be used once per draft revision

* Fix product grid visibility button toggle inconsistencies.

* Added comment for legacy publish functionality

* Fix visibility toggle for product grid item
* beginning of getting browserstack working

* More configs for browserstack

* runner has been moved

* creating test suite helper

* fixes and moving some stuff around

* More fixes. Allow the user to pick and choose what test suites to run.

This will make it easier for the user if they are switching test
runners frequently. I didn’t like adding all the tests in one array per
configuration. This fixes that.

Also allows the user to pick and choose what test suites apply to them.

* lint fix

* Adding reporter for tests, changed admin email, adding npm scripts for running tests

* Allow Allure reporting to be optional

* Primer for switching login/checkout tests to register/checkout

* Login tests, are now register tests

This also removes the dependency to having to create a user prior to
running

* Adding reporting to browserstack conf

Also, added npm script for opening report. Another thing I noticed,
browserstack tunnel sometimes hangs. So added process killer.

* Updating test descriptions

* lint fix

* updating npm package

* Addresses login test with hardcoded user assertion

* This allows the user to use dynamic ids in tests

* updated login test to pass local

* updated test packages

* updated from development

- use REACTION_USER/AUTH if available.

* updated versions

* updated user data
* Selected products not flagged as deleted

* Select all products not flagged as deleted

* Add nul to second selector
* Added a publish alert to the PDP page

Updated alert component to support child components

* Added toolbar for publish controls

* Updated publish controls and product toolbar

Added ability to change visibility of product from toolbar.
Added better controls for switching view context.
Added dropdown component.
Updated menu components.
Various other fixes.

* Added ability to discard draft changes

* Cleanup

* Added ability to disable menu items

* Cleanup

* added ability to discard changes

added ability to trigger a delete for relevant documents

* Removed delete and visibility buttons from product detail form

* Hide edit buttons when view as query param is "customer"

* clean up

* Cleanup

* Renamed Product Settings to Product Details

Removed commented code in registry entry for product-variant

* Hide toolbar for non admin users.

Cleanup eslint issues.

* Ensure view "as" query param is preserved on route change

* Added icons to menu items

* Hide tooltip when button is disabled

* Fixed type in callback

* add ability to pass in original documents as a default

* Added styles for disabled menu items

Improved spacing divider in menu

* add react-addons-create-fragment

* fixed typo
* Change `userIsInRole` to `hasPermission`

* initial commit

* initial commit

* i18n updates

* breaking templates into smaller files

* breaking LESS into smaller files

* importing new templates

* push for collaboration

* i18n updates

* file organization

* helper functions for orders and accounts

* focus input when changing search type

* Make email search case-insensitive

* push for visibility

* update account & order results to tables

* removed old accountGrid

* Build account search using required fields and transformations

* testing "fixed-data-table"

* Merge branch 'development' into ek-search-accounts-orders

# Conflicts:
#	imports/plugins/core/ui/client/components/index.js

* Make order build dynamic as well (unfinished)

* Use transformations for orders and accounts

* Add exact search by _id, regex search by name, and match by "cleaned" phone

* Refactor to eliminate duplicated code

* Merge branch 'development' into ek-search-accounts-orders

# Conflicts:
#	package.json

* update table to react-component

* updated fields for account resutls

* field name correction

* updated admin search permissions

* renamed LESS files

* Search for lastname/firstname in profile subfield

* Fix error when profile is null

* fixed propTypes error

* added new fields to order results

* i18n Updates

* new search results

* style updates

* i18n updates

* updates to account search

* new permissions for search types

* file cleanup

* file cleanup

* file cleanup

* add order date to results

* added style for shipping status

* removed billing status from results display

* Handle results when profile is null

* add click to orderID shippingStatus panel

orderID now goes to the order status / shippingInfo panel on click

* fixes for PR comments

* Wildcard search on emails in accounts/orders

* Don't log so much

* Add phone to Account Search

* Simple migrations

* Configure migrations not to log

* Change subdir name to versions so we don't have stuff in migrations/migrations

* Integrate migration logging with Reaction logging

* Move files into core

* Cleanup packages a little

* Add a down method

* Rename directory

* Rename subdirectory

* Correct import

* fixed hardcoded shop urlSlug

* remove unneeded props

* accountSearch with user management

* Re-namespace Migrations as Versions

* killed unused prop

* Re-re-structure migrations

* Add README with warning about changing API

* update migration nstantiation

- Run before, not on startup, so that options take affect before
Collections are declared.

* remove unused lodash

* update import order
* confirmation email for orders

95% ready. pushing for access on another machine.

* updated media / image code

* fix discounts data

* localizing social images

* update image handling

* fixed store logo

* update import order

* removed un-needed dataForOrderEmail key

* added babel-plugin-lodash

* fixed single quotes

* remove old "new.html" file
* LingoHub Update 🚀

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with ❤️ by https://lingohub.com

* LingoHub Update 🚀

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with ❤️ by https://lingohub.com

* Remove _README.md

- remove out of date _README

* restore missing rtl

* add default en ltr

- add default to see if lingo populates through other files.

* disable non active default languages

 - disable languages that are without translators

* updated en.json

Fix Grammar
# Conflicts:
#	.eslintrc
#	.meteor/packages
#	.meteor/versions
#	.pullapprove.yml
#	.reaction/docker/scripts/install-phantom.sh
#	imports/plugins/core/ui/client/components/index.js
#	imports/plugins/included/default-theme/client/styles/base.less
#	package.json
- remove deprecated files
@aaronjudd aaronjudd added this to the v0.17.0 milestone Oct 19, 2016

tooltip = (
<span>
<Translation defaultValue="Unpublised Changes" i18nKey="revisions.unpublishedChanges" />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo in defaultValue - unpublished

Copy link
Collaborator

@brent-hoover brent-hoover left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few small things I wish we would have caught but nothing worth holding up the release any longer


tooltip = (
<span>
<Translation defaultValue="Unpublised Changes" i18nKey="revisions.unpublishedChanges" />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in defaultValue - Unpublished

onTagUpdate={this.handleTagUpdate}
suggestions={this.state.suggestions}
tags={this.tags}
tooltip="Unpublised changes"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: Unpublished

if (this.productId && this.canSaveTag(tag)) {
Meteor.call("products/updateProductTags", this.productId, tag.name, null, (error) => {
if (error) {
return Alerts.toast("Tag already exists, duplicate add failed.", "error");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't this need i18n?

if (this.productId) {
Meteor.call("products/removeProductTag", this.productId, tag._id, (error) => {
if (error) {
Alerts.toast("Tag already exists, duplicate add failed.", "error");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this alert say the add failed when we are handling removes?

@@ -1,6 +1,7 @@
import { Reaction } from "/client/api";
import { ReactionProduct } from "/lib/api";
import { EditButton } from "/imports/plugins/core/ui/client/components";
import { EditButton, VisibilityButton } from "/imports/plugins/core/ui/client/components";
import { Meteor } from "meteor/meteor";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import order?

@@ -1,8 +1,10 @@
import { Reaction, i18next } from "/client/api";
import { ReactionProduct } from "/lib/api";
import { applyProductRevision } from "/lib/api/products";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import order?

toggleOn: variant.isVisible,
onClick() {
ReactionProduct.toggleVisibility(variant);
console.log("would attempt to publish product", variant._id);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove console.log

@brent-hoover
Copy link
Collaborator

brent-hoover commented Oct 19, 2016

👍

Approved with PullApprove

* review cleanup

- add i18n phrase for Tag in Use
- add i18next to tag Alerts
- fix typo in edItContainers
- updated import order for styleguide adherance
- comment WIP debug code for visibility button

* add email, revisions dashboard phrases
@aaronjudd
Copy link
Contributor Author

aaronjudd commented Oct 19, 2016

👍

Approved with PullApprove

@aaronjudd aaronjudd merged commit 1eec469 into master Oct 19, 2016
@aaronjudd aaronjudd removed the review label Oct 19, 2016
tyler-dunkel added a commit that referenced this pull request Mar 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants