Skip to content

Commit

Permalink
Merge branch 'master' into ras_integration
Browse files Browse the repository at this point in the history
  • Loading branch information
utku-ozturk committed Sep 15, 2024
2 parents 684de66 + a5ec62a commit 037491d
Show file tree
Hide file tree
Showing 103 changed files with 20,027 additions and 12,336 deletions.
162 changes: 162 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,168 @@ fourfront
Change Log
----------

8.1.3
=====

* Added disease_name property to experiment set schema.


8.1.2
=====

* New value "fragments" added in ignored_enum for processed file schema.


8.1.1
=====

* Bug fix to handle non-array children in static content TOC


8.1.0
=====

* 2024-09-03/dmichaels
- Update snovault 11.22.0 for fix for running locally; oddity
with subprocess.Popen in elasticsearch_fixture; see snovault PR-304.


8.0.0
=====

* Upgrade: React v17 to v18
* Upgrade: Redux v4 to v5 (there are breaking changes in store and dispatchers. SPC is updated to support both new and legacy usage)
* Upgrade: HiGlass (React 18-compatible)
* Upgrade: Vitessce (React 18-compatible)
* Upgrade: MicroMeta App
* Upgrade: auth0-Lock v11 to v12
* Upgrade: gulp.js v4 to v5
* Upgrade: react-workflow-viz (animation updates to eliminate findDOMNode errors)
* Fix: User Content updates to fix markdown, jsx, and HTML static section rendering
* Feature: Improve ExperimentSetDetailPane's raw/processed/supplementary file panels
* Feature: Display react-workflow-viz version in /health
* Upgrade: SlideCarousel and BasicCarousel updates upon nuka carousel's breaking changes


7.10.1
=====

* Bug fix to revert schema version of workflow.json back to 7


7.10.0
=====

* Add cumulative sum and date range options for submission statistics
* Add cumulative sum and 60 days options for usage statistics
* Update statistics page style and improve mobile UI
* Add supplementary files table into /browse details
* Add raw/processed/supplementary file download options into `Select All` button


7.9.0
=====

* Added 'override_track_title' to file schema
* Updated track_and_facet calcprop to use the new property if present
* Added test cases


7.8.0
=====

* Added 'tags' mixing to workflow schema
* Added 'max_runtime' property to workflow schema
* Added 'current pipeline' and 'accepted_pipelines' to experiment_type for the names
of completed pipelines used by foursight


7.7.0
=====

* Updates related to Python 3.12.


7.6.0
=====

`Add routes page <https://github.com/4dn-dcic/fourfront/pull/1898>`_

* Add routes page to list all endpoints
* updated lock file


7.5.8
=====

`Add ignored enum <https://github.com/4dn-dcic/fourfront/pull/1897>`_

* Add value to ignored_enum for file_type


7.5.7
=====

`Fix command to pull inserts <https://github.com/4dn-dcic/fourfront/pull/1894>`_

* Update snovault and use its updated command to pull inserts
* Delete nonfunctional command in this repo


7.5.6
=====

`fix cypress 03d <https://github.com/4dn-dcic/fourfront/pull/1893>`_

* fixes cypress 03d's failing "Select All" step
* adds OPF coun into Chart's files agg


7.5.5
=====

* bug fix - button "Select All" not turns into "Deselect All" in /browse after QuickInfoBar updates in 7.5.0


7.5.4
=====

* bug fix - analytics impression count calculation fails for the lists having 200+ items


7.5.3
=====

`calcprop update <https://github.com/4dn-dcic/fourfront/pull/1890>`_

* Updated experiment_categorizer calcprop for ExperimentMic to deal with many targets in imaging paths


7.5.2
=====

* adds two new props to object.CopyWrapper to allow/prevent sending analytics data into GA4


7.5.1
=====

* grab ExpSet accession from source_experiment_sets instead of experiment_sets for FileView's metadata.tsv generation


7.5.0
=====

* changes QuickInfoBar experiment and file links from /browse to /search
* adds OPF to File counts


7.4.2
=====

* Bug fix - LocalizedTime component cannot handle invalid dates and makes UI failing completely


7.4.1
=====

Expand Down
32 changes: 6 additions & 26 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,52 +38,36 @@ npm-setup: # runs all front-end setup
moto-setup: # optional moto setup that must be done separately
pip install "moto[server]==1.3.7"

macpoetry-install: # Same as 'poetry install' except that on OSX Catalina, an environment variable wrapper is needed
bin/macpoetry-install

configure: # does any pre-requisite installs
@#pip install --upgrade pip==21.0.1
pip install --upgrade pip
@#pip install poetry==1.1.9 # this version is known to work. -kmp 11-Mar-2021
# Pin to version 1.1.15 for now to avoid this error:
# Because encoded depends on wheel (>=0.29.0) which doesn't match any versions, version solving failed.
pip install wheel==0.40.0
pip install poetry==1.7.1
pip install setuptools==57.5.0 # this version allows 2to3, any later will break -wrr 20-Sept-2021
# pip install wheel==0.40.0
# pip install poetry==1.7.1
# pip install setuptools==57.5.0 # this version allows 2to3, any later will break -wrr 20-Sept-2021
pip install wheel
pip install poetry
pip install setuptools
poetry config virtualenvs.create false --local # do not create a virtualenv - the user should have already done this -wrr 20-Sept-2021

build-poetry:
make configure
poetry install

macbuild-poetry:
make configure
make macpoetry-install

build: # builds
make build-poetry
make build-after-poetry

macbuild: # builds for Catalina
make macbuild-poetry
make build-after-poetry

rebuild:
make clean # Among other things, this assures 'make npm-setup' will run, but it also does other cleanup.
make build

macrebuild:
make clean # Among other things, this assures 'make npm-setup' will run, but it also does other cleanup.
make macbuild

build-full: # rebuilds for Catalina, addressing zlib possibly being in an alternate location.
make clean-node-modules # This effectively assures that 'make npm-setup' will need to run.
make build

macbuild-full: # rebuilds for Catalina, addressing zlib possibly being in an alternate location.
make clean-node-modules # This effectively assures that 'make npm-setup' will need to run.
make macbuild

build-after-poetry: # continuation of build after poetry install
make moto-setup
make npm-setup-if-needed
Expand All @@ -98,10 +82,6 @@ build-dev: # same as build, but sets up locust as well
make build
make build-locust

macbuild-dev: # same as macbuild, but sets up locust as well
make macbuild
make build-locust

build-locust: # just pip installs locust - may cause instability
pip install locust

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def pytest_configure():
if not my_selected_account or my_selected_account == "643366669028":
PRINT("The legacy account is correctly selected for testing Fourfront.")
elif not my_selected_env:
print("ENV_NAME was not set. It is being set to {desired_env}.")
print(f"ENV_NAME was not set. It is being set to {desired_env}.")
os.environ['ENV_NAME'] = desired_env
elif my_selected_env != desired_env:
PRINT(f"ENV_NAME must be set to {desired_env} (or left unset) for testing. (It is set to {my_selected_env}.)")
Expand Down
13 changes: 12 additions & 1 deletion deploy/post_deploy_testing/cypress/e2e/01b_static_content.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ describe('Static Page & Content Tests', function () {
it('Click & visit each page from menu, ensure ToC exists somewhere, ensure ToC works.', function(){

cy.on('uncaught:exception', function(err, runnable){
// TODO: Investigate hydration errors occurring during SSR in Cypress tests.
// It appears that Cypress injects a prop into the div on the client side, which doesn't exist on the server side, leading to hydration issues.
// This suppression is temporary and should be removed once the issue is resolved.
// https://github.com/cypress-io/cypress/issues/27204
if (
/hydrat/i.test(err.message) ||
/Minified React error #418/.test(err.message) ||
/Minified React error #423/.test(err.message)
) {
return false;
}

expect(err.message).to.include("return response;");

Expand Down Expand Up @@ -57,7 +68,7 @@ describe('Static Page & Content Tests', function () {
cy.get(helpNavBarItemSelectorStr).click().should('have.class', 'dropdown-open-for').then(()=>{
//TODO: Remove wait() when a better workaround finds out
//TODO: May apply possible solutions described in https://www.cypress.io/blog/2018/02/05/when-can-the-test-start
cy.get('div.big-dropdown-menu a#' + escapeElementWithNumericId(allLinkElementIDs[count])).wait(500).click().then(($nextListItem)=>{
cy.get('div.big-dropdown-menu a#' + escapeElementWithNumericId(allLinkElementIDs[count])).wait(1000).click().then(($nextListItem)=>{
const linkHref = $nextListItem.attr('href');
cy.location('pathname').should('equal', linkHref);
testVisit();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ describe('Browse Views - Basic Tests', function () {
it('Select a grouping term in Experiment Type facet, then check whether the sub-terms are also selected', function () {

cy.visit('/browse').get('#slow-load-container').should('not.have.class', 'visible').end()
.get('.facet-charts.loading').should('not.exist')
.get(".facets-header .facets-title").should('have.text', 'Included Properties').end()
.get('.facet.closed[data-field="experiments_in_set.experiment_type.display_title"] > h5').scrollIntoView().should('be.visible').click().end()
.get('.facet.open[data-field="experiments_in_set.experiment_type.display_title"] .facet-list-element[data-is-grouping="true"] a').first().within(($term) => {
Expand Down Expand Up @@ -118,6 +119,7 @@ describe('Browse Views - Basic Tests', function () {
it('Exclude a grouping term in Experiment Type facet, then check whether the sub-terms are also excluded', function () {

cy.visit('/browse').get('#slow-load-container').should('not.have.class', 'visible').end()
.get('.facet-charts.loading').should('not.exist')
.get(".facets-header button").first().click().end()
.get(".facets-header .facets-title").should('have.text', 'Excluded Properties').end()
.get('.facet.closed[data-field="experiments_in_set.experiment_type.display_title"] > h5').scrollIntoView().should('be.visible').click().end()
Expand Down
Loading

0 comments on commit 037491d

Please sign in to comment.