Skip to content

Commit 008c828

Browse files
authored
Release 2.1.1
This pull request primarily updates the version of the `mnestix-browser` package and Docker image to `2.1.1`, and standardizes the formatting of configuration files for improved consistency and maintainability. It also includes documentation updates to clarify MongoDB configuration and mark older API documentation as deprecated. **Version updates:** * Updated the `mnestix-browser` package version and Docker image tag from `2.1.0` to `2.1.1` in `package.json`, `.github/workflows/docker-build.yml`, and `compose.yml`. [[1]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L3-R3) [[2]](diffhunk://#diff-3414847e2ad632333f775cabb810f0dc0df61a570365df34750a08b00912fe82L30-R30) [[3]](diffhunk://#diff-3493e6b5ddf34891e572f911db893efd9e46af828e011ea778a7c1eb64763588L13-R40) * Upgraded dependencies in `package.json`, including `dotenv` and `prisma`, to their latest versions for security and compatibility. [[1]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L29-R29) [[2]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L39-R39) **Documentation updates:** * Added detailed MongoDB configuration instructions to `wiki/Mnestix-AAS-Generator.md`, including security notes and matching requirements for database and collection names. * Marked `wiki/Mnestix-API-Documentation.md` as deprecated, clarified component split, and updated sidebar navigation to reflect new documentation structure. [[1]](diffhunk://#diff-8d0159319618acf786dd4e5361626873845200fbb8d27727977d2c767970338aL1-R9) [[2]](diffhunk://#diff-1748c21396f102d6d2fe2b29f7c841451865dc42465269b572a0c332aef2059fL21-R21) [[3]](diffhunk://#diff-1748c21396f102d6d2fe2b29f7c841451865dc42465269b572a0c332aef2059fL30-R33) **Code quality improvement:** * Fixed a potential bug in `ProductJourney.tsx` by ensuring `fitMapToMarkers` checks for valid marker extents before fitting the map view. ([src/app/[locale]/viewer/_components/submodel/carbon-footprint/visualization-components/ProductJourney.tsxL233-R235](diffhunk://#diff-f1b631b3a472ecacea8966338a312e87810de1cbb57061d35bbffd5d76b2ea11L233-R235)) **Cleanup:** * Removed the outdated `wiki/Mnestix-API-Data-Ingest.md` guide to prevent confusion and keep documentation current.
2 parents 18e15a8 + 61f06f2 commit 008c828

File tree

12 files changed

+1925
-819
lines changed

12 files changed

+1925
-819
lines changed

.github/workflows/docker-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ env:
2727
# github.repository as <account>/<repo>
2828
IMAGE_NAME: mnestix-browser
2929
# Update the version manually
30-
IMAGE_TAG_VERSION: 2.1.0
30+
IMAGE_TAG_VERSION: 2.1.1
3131

3232
jobs:
3333
build-browser-image:

compose.yml

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,34 @@ volumes:
1010
services:
1111
mnestix-browser:
1212
container_name: mnestix-browser
13-
image: mnestix/mnestix-browser:2.1.0
14-
profiles: ['', 'frontend', 'tests']
13+
image: mnestix/mnestix-browser:2.1.1
14+
profiles: ["", "frontend", "tests"]
1515
build:
1616
dockerfile: Dockerfile
1717
target: production
1818
ports:
19-
- '3000:3000'
19+
- "3000:3000"
2020
environment:
21-
REGISTRY_API_URL: 'https://aas-registry:8083/' # 'https://registry.dpp40-2-v2.industrialdigitaltwin.org/'
22-
SUBMODEL_REGISTRY_API_URL: 'http://submodel-registry:8084'
23-
DISCOVERY_API_URL: 'http://mnestix-proxy:5065/discovery'
24-
AAS_REPO_API_URL: 'http://mnestix-proxy:5065/repo'
25-
SUBMODEL_REPO_API_URL: 'http://mnestix-proxy:5065/repo'
26-
CONCEPT_DESCRIPTION_REPO_API_URL: 'http://mnestix-proxy:5065/repo'
27-
SERIALIZATION_API_URL: 'http://mnestix-proxy:5065/repo'
28-
MNESTIX_AAS_GENERATOR_API_URL: 'http://mnestix-proxy:5065'
21+
REGISTRY_API_URL: "https://aas-registry:8083/" # 'https://registry.dpp40-2-v2.industrialdigitaltwin.org/'
22+
SUBMODEL_REGISTRY_API_URL: "http://submodel-registry:8084"
23+
DISCOVERY_API_URL: "http://mnestix-proxy:5065/discovery"
24+
AAS_REPO_API_URL: "http://mnestix-proxy:5065/repo"
25+
SUBMODEL_REPO_API_URL: "http://mnestix-proxy:5065/repo"
26+
CONCEPT_DESCRIPTION_REPO_API_URL: "http://mnestix-proxy:5065/repo"
27+
SERIALIZATION_API_URL: "http://mnestix-proxy:5065/repo"
28+
MNESTIX_AAS_GENERATOR_API_URL: "http://mnestix-proxy:5065"
2929
MNESTIX_BACKEND_API_KEY: ${MNESTIX_BACKEND_API_KEY:-verySecureApiKey}
30-
AAS_LIST_FEATURE_FLAG: 'true'
31-
TRANSFER_FEATURE_FLAG: 'false'
32-
COMPARISON_FEATURE_FLAG: 'true'
33-
EXPERIMENTAL_PRODUCT_VIEW_FEATURE_FLAG: 'false'
34-
AUTHENTICATION_FEATURE_FLAG: 'false'
35-
LOCK_TIMESERIES_PERIOD_FEATURE_FLAG: 'true'
30+
AAS_LIST_FEATURE_FLAG: "true"
31+
TRANSFER_FEATURE_FLAG: "false"
32+
COMPARISON_FEATURE_FLAG: "true"
33+
EXPERIMENTAL_PRODUCT_VIEW_FEATURE_FLAG: "false"
34+
AUTHENTICATION_FEATURE_FLAG: "false"
35+
LOCK_TIMESERIES_PERIOD_FEATURE_FLAG: "true"
3636
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET:-verySecureNextAuthSecret}
3737
SECRET_ENC_KEY: ${SECRET_ENC_KEY:-J+mMxwKo+aoFJ6uxMv6Acv54buuBir2EJ3z6LGFB+Vo=} # needs to be secure, can be generated by: node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
38-
IMPRINT_URL: ''
39-
DATA_PRIVACY_URL: ''
40-
BASYX_RBAC_ENABLED: 'false'
38+
IMPRINT_URL: ""
39+
DATA_PRIVACY_URL: ""
40+
BASYX_RBAC_ENABLED: "false"
4141
networks:
4242
- mnestix-network
4343
volumes:
@@ -46,55 +46,55 @@ services:
4646
mnestix-proxy:
4747
image: mnestix/mnestix-proxy:1.0.0
4848
container_name: mnestix-proxy
49-
profiles: ['', 'proxy', 'backend', 'tests']
49+
profiles: ["", "proxy", "backend", "tests"]
5050
ports:
51-
- '5065:5065'
51+
- "5065:5065"
5252
environment:
5353
# API key authorization
5454
CustomerEndpointsSecurity__ApiKey: ${MNESTIX_BACKEND_API_KEY:-verySecureApiKey}
5555
# Connection to Repository Service:
56-
ReverseProxy__Clusters__mnestixApiCluster__Destinations__destination1__Address: 'http://mnestix-aas-generator:5064/'
57-
ReverseProxy__Clusters__aasRepoCluster__Destinations__destination1__Address: 'http://aas-environment:8081/'
58-
ReverseProxy__Clusters__submodelRepoCluster__Destinations__destination1__Address: 'http://aas-environment:8081/'
59-
ReverseProxy__Clusters__discoveryCluster__Destinations__destination1__Address: 'http://aas-discovery:8081/'
56+
ReverseProxy__Clusters__mnestixApiCluster__Destinations__destination1__Address: "http://mnestix-aas-generator:5064/"
57+
ReverseProxy__Clusters__aasRepoCluster__Destinations__destination1__Address: "http://aas-environment:8081/"
58+
ReverseProxy__Clusters__submodelRepoCluster__Destinations__destination1__Address: "http://aas-environment:8081/"
59+
ReverseProxy__Clusters__discoveryCluster__Destinations__destination1__Address: "http://aas-discovery:8081/"
6060
# InfluxDB Configuration
6161
# URL to specify the host and port where InfluxDB is running:
62-
ReverseProxy__Clusters__influxCluster__Destinations__destination1__Address: 'http://example/'
62+
ReverseProxy__Clusters__influxCluster__Destinations__destination1__Address: "http://example/"
6363
# Token:
64-
ReverseProxy__Routes__InfluxRoute__Transforms__1__Set: 'Token '
64+
ReverseProxy__Routes__InfluxRoute__Transforms__1__Set: "Token "
6565
# ASP.NET Core URLs
66-
ASPNETCORE_URLS: 'http://+:5065'
66+
ASPNETCORE_URLS: "http://+:5065"
6767
networks:
6868
- mnestix-network
6969

7070
mnestix-aas-generator:
7171
image: mnestix/mnestix-aas-generator:1.1.0
7272
container_name: mnestix-aas-generator
73-
profiles: ['', 'backend', 'tests']
73+
profiles: ["", "backend", "tests"]
7474
environment:
7575
# API key authorization
7676
CustomerEndpointsSecurity__ApiKey: ${MNESTIX_BACKEND_API_KEY:-verySecureApiKey}
7777
# Features Configuration
78-
Features__UseAuthentication: 'false'
78+
Features__UseAuthentication: "false"
7979
# ASP.NET Core URLs
80-
ASPNETCORE_URLS: 'http://+:5064'
80+
ASPNETCORE_URLS: "http://+:5064"
8181
# ServerUrls
82-
ServerUrls: 'http://mnestix-proxy:5065/repo/'
82+
ServerUrls: "http://mnestix-proxy:5065/repo/"
8383
depends_on:
8484
aas-environment:
8585
condition: service_healthy # only after the healthcheck in aas is successful, the mnestix container is being created
8686
logging:
87-
driver: 'json-file'
87+
driver: "json-file"
8888
options:
89-
max-file: '5'
90-
max-size: '100m'
89+
max-file: "5"
90+
max-size: "100m"
9191
networks:
9292
- mnestix-network
9393

9494
mongodb:
9595
image: mongo:8
9696
container_name: mongodb
97-
profiles: ['', 'basyx', 'tests']
97+
profiles: ["", "basyx", "tests"]
9898
environment:
9999
MONGO_INITDB_ROOT_USERNAME: mongoAdmin
100100
MONGO_INITDB_ROOT_PASSWORD: mongoPassword
@@ -105,10 +105,10 @@ services:
105105
timeout: 3s
106106
retries: 5
107107
logging:
108-
driver: 'json-file'
108+
driver: "json-file"
109109
options:
110-
max-file: '5'
111-
max-size: '100m'
110+
max-file: "5"
111+
max-size: "100m"
112112
networks:
113113
- mnestix-network
114114
volumes:
@@ -117,7 +117,7 @@ services:
117117
aas-environment:
118118
image: eclipsebasyx/aas-environment:2.0.0-milestone-08
119119
container_name: aas-environment
120-
profiles: ['', 'basyx', 'tests']
120+
profiles: ["", "basyx", "tests"]
121121
depends_on:
122122
- mongodb
123123
environment:
@@ -131,25 +131,25 @@ services:
131131
SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE: 100000KB
132132
SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE: 100000KB
133133
# Allow mnestix frontend and backend to call basyx
134-
BASYX_CORS_ALLOWED-ORIGINS: '*'
134+
BASYX_CORS_ALLOWED-ORIGINS: "*"
135135
BASYX_CORS_ALLOWED-METHODS: GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD
136136
healthcheck: # check the endpoint for a valid response (service ready)
137137
test: curl -f http://localhost:8081/actuator/health
138138
interval: 10s
139139
timeout: 15s
140140
retries: 8
141141
logging:
142-
driver: 'json-file'
142+
driver: "json-file"
143143
options:
144-
max-file: '5'
145-
max-size: '100m'
144+
max-file: "5"
145+
max-size: "100m"
146146
networks:
147147
- mnestix-network
148148

149149
aas-discovery:
150150
image: eclipsebasyx/aas-discovery:2.0.0-milestone-08
151151
container_name: aas-discovery
152-
profiles: ['', 'basyx', 'tests']
152+
profiles: ["", "basyx", "tests"]
153153
depends_on:
154154
- mongodb
155155
environment:
@@ -159,32 +159,32 @@ services:
159159
SPRING__DATA__MONGODB__authentication-database: admin
160160
SPRING__DATA__MONGODB__USERNAME: mongoAdmin
161161
SPRING__DATA__MONGODB__PASSWORD: mongoPassword
162-
BASYX__CORS__ALLOWED-ORIGINS: '*'
162+
BASYX__CORS__ALLOWED-ORIGINS: "*"
163163
BASYX__CORS__ALLOWED-METHODS: GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD
164164
healthcheck: # check the endpoint for a valid response (service ready)
165165
test: curl -f http://localhost:8081/actuator/health
166166
interval: 30s
167167
timeout: 10s
168168
retries: 6
169169
logging:
170-
driver: 'json-file'
170+
driver: "json-file"
171171
options:
172-
max-file: '5'
173-
max-size: '100m'
172+
max-file: "5"
173+
max-size: "100m"
174174
networks:
175175
- mnestix-network
176176

177177
aas-registry:
178178
image: eclipsebasyx/aas-registry-log-mongodb:2.0.0-milestone-08
179179
container_name: aas-registry
180-
profiles: ['', 'basyx']
180+
profiles: ["", "basyx"]
181181
ports:
182-
- '8083:8080'
182+
- "8083:8080"
183183
depends_on:
184184
- mongodb
185185
environment:
186186
SPRING_DATA_MONGODB_URI: mongodb://mongoAdmin:mongoPassword@mongodb:27017/?authSource=admin
187-
BASYX__CORS__ALLOWED-ORIGINS: '*'
187+
BASYX__CORS__ALLOWED-ORIGINS: "*"
188188
BASYX__CORS__ALLOWED-METHODS: GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD
189189
healthcheck: # check the endpoint for a valid response (service ready)
190190
test: curl -f http://localhost:8080/actuator/health
@@ -197,14 +197,14 @@ services:
197197
submodel-registry:
198198
image: eclipsebasyx/submodel-registry-log-mongodb:2.0.0-milestone-08
199199
container_name: submodel-registry
200-
profiles: ['', 'basyx']
200+
profiles: ["", "basyx"]
201201
ports:
202-
- '8084:8080'
202+
- "8084:8080"
203203
depends_on:
204204
- mongodb
205205
environment:
206206
SPRING_DATA_MONGODB_URI: mongodb://mongoAdmin:mongoPassword@mongodb:27017/?authSource=admin
207-
BASYX__CORS__ALLOWED-ORIGINS: '*'
207+
BASYX__CORS__ALLOWED-ORIGINS: "*"
208208
BASYX__CORS__ALLOWED-METHODS: GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD
209209
healthcheck: # check the endpoint for a valid response (service ready)
210210
test: curl -f http://localhost:8080/actuator/health

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mnestix-browser",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"type": "module",
55
"private": true,
66
"license": "MIT",
@@ -26,7 +26,7 @@
2626
"cypress": "^15.9.0",
2727
"cypress-junit-reporter": "^1.3.1",
2828
"cypress-split": "^1.24.25",
29-
"dotenv": "^17.2.3",
29+
"dotenv": "^17.3.1",
3030
"eslint": "^9.39",
3131
"eslint-config-next": "16.1.6",
3232
"eslint-plugin-cypress": "^5.2.1",
@@ -36,7 +36,7 @@
3636
"jest": "^30.2.0",
3737
"jest-environment-jsdom": "^30.2.0",
3838
"prettier": "^3.8.1",
39-
"prisma": "^7.3.0",
39+
"prisma": "^7.4.0",
4040
"ts-node": "^10.9.2",
4141
"typescript": "~5.9",
4242
"typescript-eslint": "^8.53.1"

src/app/[locale]/viewer/_components/submodel/carbon-footprint/visualization-components/ProductJourney.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,9 @@ function getLineBetweenCoordinates(start: Coordinate, end: Coordinate) {
230230
}
231231

232232
function fitMapToMarkers(map: Map, markerSource: VectorSource | null) {
233-
if (markerSource && !markerSource.getExtent().some((e) => e === Infinity)) {
234-
map.getView().fit(markerSource.getExtent(), { size: map.getSize(), padding: [60, 40, 20, 40], maxZoom: 12 });
233+
const extent = markerSource?.getExtent();
234+
if (markerSource && extent && !extent.some((e) => e === Infinity)) {
235+
map.getView().fit(extent, { size: map.getSize(), padding: [60, 40, 20, 40], maxZoom: 12 });
235236
}
236237
}
237238

0 commit comments

Comments
 (0)