Skip to content

Commit f97ab54

Browse files
authored
RELEASE 2026-02-02 (#2207)
## Description Short description of the pull request ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required: ## Summary by Sourcery Introduce an admin area with configurable frontend settings and user management, add configurable scientific metadata number formatting, simplify table filtering UX, and refine layouts, configuration loading, and supporting infrastructure. New Features: - Add an admin dashboard with tabs for frontend configuration editing and a users list, protected by an admin route and exposed via the user menu. - Introduce runtime configuration and users NgRx slices/effects to load and update frontend configuration and fetch users from the backend. - Add a JSON preview dialog and custom JSONForms renderers (accordion arrays and expandable groups) to support rich editing of the frontend config schema. - Make scientific metadata number formatting configurable via app configuration and apply it across metadata views, trees, inputs, and dataset tables, including export. Bug Fixes: - Ensure the admin guard correctly waits for login state, redirects unauthenticated users to login, and returns a 401 page for non-admin users. - Correct ordering of dataset lifecycle history by returning events in reverse chronological order. - Improve robustness of metadata number handling by ignoring non-finite values and not reformatting integers while still applying scientific notation where configured. Enhancements: - Move the public/my data toggle into the dataset filters panel, wiring it to public view mode and refreshing datasets and facet counts when changed. - Unify checkbox filter collapsing behavior inside the shared-filter component and reuse shared styles across datasets and proposals side filters. - Simplify the dynamic material table header by removing per-column header filters and the clear-filter menu action while tightening table row heights and layout. - Refine layouts and spacing for dashboards, breadcrumbs, main layout padding, and jsonforms-generated forms, including tweaks for boolean controls and card content padding. - Update app configuration and theme loading services to use modern RxJS patterns, provide default metadata float formatting, and support new config fields. - Display an Admin Settings (Beta) entry in the header menu for admin users and adjust the dashboard/table toolbars and breadcrumb appearance. - Initialize publish metadata from configured default values and format scientific metadata consistently in view and tree components. Build: - Upgrade GitHub Actions workflows to newer versions of cache, upload-artifact, and dependabot metadata actions. - Bump frontend dependencies including the SciCat Angular SDK and TypeScript/node typings and add baseline-browser-mapping for test/browser support. CI: - Adjust Cypress tests, including removing the proposal column filter test, increasing a datasets config wait timeout, and updating coverage artifact handling. Documentation: - Tidy project documentation by removing the SonarCloud badge from the README. Tests: - Extend and adapt unit tests for datasets filters, metadata views and trees, scientific metadata inputs, app configuration, and instruments mapping to cover new behaviors and configuration-driven formatting. - Add NgRx tests around runtime configuration selectors/reducers and update existing specs to account for the new configuration service usage.
2 parents baedbd8 + f6ba28d commit f97ab54

134 files changed

Lines changed: 5925 additions & 3019 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/dependabot-auto-merge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
## Extract information about the dependencies being updated by a Dependabot-generated PR
1616
- name: Dependabot metadata
1717
id: dependabot-metadata
18-
uses: dependabot/fetch-metadata@v2.4.0
18+
uses: dependabot/fetch-metadata@v2.5.0
1919
with:
2020
github-token: "${{ secrets.GITHUB_TOKEN }}"
2121

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535

3636
- name: Cache node_modules
3737
id: cache-node-modules
38-
uses: actions/cache@v4
38+
uses: actions/cache@v5
3939
with:
4040
path: node_modules
4141
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}

.github/workflows/test.yml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
- name: Cache node_modules
2525
id: cached-node-modules
26-
uses: actions/cache@v4
26+
uses: actions/cache@v5
2727
with:
2828
path: node_modules
2929
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}
@@ -48,7 +48,7 @@ jobs:
4848

4949
- name: Cache node_modules
5050
id: cached-node-modules
51-
uses: actions/cache@v4
51+
uses: actions/cache@v5
5252
with:
5353
path: node_modules
5454
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}
@@ -71,7 +71,7 @@ jobs:
7171

7272
- name: Cache node_modules
7373
id: cached-node-modules
74-
uses: actions/cache@v4
74+
uses: actions/cache@v5
7575
with:
7676
path: node_modules
7777
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}
@@ -89,7 +89,7 @@ jobs:
8989
- name: Save PR number
9090
run: |
9191
echo ${{ github.event.number }} > ./coverage/PR
92-
- uses: actions/upload-artifact@v5
92+
- uses: actions/upload-artifact@v6
9393
with:
9494
name: coverage
9595
path: coverage/
@@ -125,6 +125,17 @@ jobs:
125125
docker compose build --no-cache
126126
docker compose up -d
127127
128+
- name: Start Background Resource Monitor for Docker Containers
129+
run: |
130+
nohup bash -c '
131+
while true; do
132+
echo "=== $(date) ==="
133+
free -h
134+
docker stats --no-stream
135+
sleep 10
136+
done
137+
' > monitor.log 2>&1 &
138+
128139
- name: Run Cypress tests
129140
uses: cypress-io/github-action@v6
130141
with:
@@ -144,13 +155,16 @@ jobs:
144155
run: |
145156
docker compose down -v
146157
147-
- uses: actions/upload-artifact@v5
158+
- name: Output Docker Container Resource Monitor Logs
159+
run: cat monitor.log
160+
161+
- uses: actions/upload-artifact@v6
148162
if: ${{ failure() }}
149163
with:
150164
name: cypress-screenshots
151165
path: cypress/screenshots
152166

153-
- uses: actions/upload-artifact@v5
167+
- uses: actions/upload-artifact@v6
154168
if: ${{ failure() }}
155169
with:
156170
name: cypress-videos

CI/e2e/.env.backend.e2e

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ DATASET_CREATION_VALIDATION_REGEX="^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][
3636
PROPOSAL_GROUPS="proposalingestor"
3737
SAMPLE_GROUPS=""
3838

39-
ELASTICSEARCH_ENABLED='yes'
39+
ELASTICSEARCH_ENABLED='no'
4040
ES_HOST=http://es01:9200
4141
ES_USERNAME=elastic
4242
ES_PASSWORD=duo-password

0 commit comments

Comments
 (0)