Skip to content

Commit 8e66f33

Browse files
authored
Merge branch 'develop' into fix/remove-duplicates-in-report-configs
2 parents 291e9cd + 912994a commit 8e66f33

35 files changed

+401
-285
lines changed

.github/workflows/master-deployment.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
with:
3232
build: yarn run build
3333
start: yarn run dev
34-
wait-on: "http://localhost:3000"
34+
wait-on: 'http://localhost:3000'
3535
browser: chrome
3636
build-s3:
3737
needs: build-test
@@ -79,7 +79,7 @@ jobs:
7979
context: .
8080
file: ./Dockerfile
8181
push: true
82-
tags: ${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:2.4.3
82+
tags: ${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:2.4.6
8383
build-docker-legacy:
8484
needs: build-test
8585
runs-on: neodash-runners
@@ -103,7 +103,7 @@ jobs:
103103
context: .
104104
file: ./Dockerfile
105105
push: true
106-
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_USERNAME }}/neodash:2.4.3
106+
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_USERNAME }}/neodash:2.4.6
107107
deploy-gallery:
108108
runs-on: neodash-runners
109109
strategy:

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ WORKDIR /usr/local/src/neodash
1010

1111
# Copy sources and install/build
1212
COPY ./package.json /usr/local/src/neodash/package.json
13+
COPY ./yarn.lock /usr/local/src/neodash/yarn.lock
1314

1415
RUN yarn install
1516
COPY ./ /usr/local/src/neodash
@@ -43,4 +44,4 @@ USER nginx
4344
EXPOSE $NGINX_PORT
4445

4546
HEALTHCHECK cmd curl --fail "http://localhost:$NGINX_PORT" || exit 1
46-
LABEL version="2.4.3"
47+
LABEL version="2.4.6"

changelog.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
## NeoDash 2.4.6
2+
This is a minor release containing a few critical fixes and some extra style customizations:
3+
4+
- Fix bad text wrapping for arrays in tables ([868](https://github.com/neo4j-labs/neodash/pull/868)).
5+
- Make wrapping in table optional, disabled by default ([872](https://github.com/neo4j-labs/neodash/pull/872)).
6+
- Fixed issues where cross database dashboard sharing always reverted back to the default database ([873](https://github.com/neo4j-labs/neodash/pull/873)).
7+
- Added option to define style config using environment variables for the Docker image ([876](https://github.com/neo4j-labs/neodash/pull/876)).
8+
9+
## NeoDash 2.4.5
10+
This is a small release containing a few fixes:
11+
- Fixed rendering of string arrays inside tables, report titles, and report action buttons [849](https://github.com/neo4j-labs/neodash/pull/849)
12+
- Allowed text to wrap in tables, preserving the number of rows [852](https://github.com/neo4j-labs/neodash/pull/852)
13+
- Disabled auto-sorting of Cypher query-based Parameter Select ; use Cypher ORDER BY to control result order [857](https://github.com/neo4j-labs/neodash/pull/857)
14+
- Updated role selector menu, and made user updates more robust [854](https://github.com/neo4j-labs/neodash/pull/854)
15+
16+
Thanks to all the contributors for this release:
17+
- [MariusC](https://github.com/mariusconjeaud),
18+
- [LiamEdwardsLamarche](https://github.com/LiamEdwardsLamarche),
19+
- [AleSim94](https://github.com/AleSim94)
20+
21+
## NeoDash 2.4.4
22+
This is a hotfix release fixing some breaking issues in the 2.4.3:
23+
- Fixed number parsing using newer versions of the Neo4j driver. [811](https://github.com/neo4j-labs/neodash/pull/811)
24+
- Reverted new connection handler for auto-renewed SSO sessions. [815](https://github.com/neo4j-labs/neodash/pull/815)
25+
- Improved handling of parameters in form extension, resolved local state issues. [813](https://github.com/neo4j-labs/neodash/pull/813)
26+
- Updated Role management extension to no longer execute queries in parallel, improved UX and error handling [813](https://github.com/neo4j-labs/neodash/pull/813)
27+
28+
If you are currently using NeoDash version 2.4.3, we recommend updating as soon as possible.
29+
130
## NeoDash 2.4.3
231
This release contains several improvements and additions to multi-dashboard management, as well as a bug fixes and a variety of quality-of-life improvements:
332

docs/modules/ROOT/pages/developer-guide/deploy-a-build.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Depending on the webserver type and version, this could be different directory.
3737
As an example - to copy the files to an nginx webserver using `scp`:
3838

3939
```bash
40-
scp neodash-2.4.3 username@host:/usr/share/nginx/html
40+
scp neodash-2.4.6 username@host:/usr/share/nginx/html
4141
```
4242

4343
NeoDash should now be visible by visiting your (sub)domain in the browser.

docs/modules/ROOT/pages/developer-guide/style-configuration.adoc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,15 @@ link:https://cdn.jsdelivr.net/npm/@neo4j-ndl/[email protected]/lib/tokens/css/tokens.cs
66

77
For a simple (non-Dockerized) deployment, these configuration parameters
88
can be changed by modifying `dist/style.config.json` after you have built the
9-
application. When Docker image, these can not be passed as environment
10-
variables.
9+
application. When using the NeoDash Docker image, these can be passed as environment
10+
variables. For example:
1111

12+
....
13+
docker run -p 5005:5005 \
14+
-e DASHBOARD_HEADER_BRAND_LOGO=https://picsum.photos/500/100 \
15+
neo4jlabs/neodash
16+
....
17+
1218
An example configuration for NeoDash
1319

1420
....

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "neodash",
3-
"version": "2.4.3",
3+
"version": "2.4.6",
44
"description": "NeoDash - Neo4j Dashboard Builder",
55
"neo4jDesktop": {
66
"apiVersion": "^1.2.0"
@@ -65,14 +65,14 @@
6565
"d3-scale-chromatic": "^3.0.0",
6666
"dayjs": "^1.11.7",
6767
"dom-to-image": "^2.6.0",
68+
"dompurify": "^3.1.0",
6869
"leaflet": "^1.7.1",
6970
"lodash.debounce": "^4.0.8",
7071
"lodash.isequal": "^4.5.0",
7172
"lodash.merge": "^4.6.2",
7273
"mui-color": "^2.0.0-beta.2",
7374
"mui-nested-menu": "^3.2.1",
7475
"neo4j-client-sso": "^1.2.2",
75-
"neo4j-driver": "^5.12.0",
7676
"openai": "^3.3.0",
7777
"postcss": "^8.4.21",
7878
"postcss-loader": "^7.2.4",

public/style.css

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -125,17 +125,13 @@
125125
margin-top: -10px;
126126
}
127127

128-
.MuiDataGrid-virtualScroller {
129-
overflow-y: hidden !important;
130-
}
131-
132-
.MuiDataGrid-panel{
128+
.MuiDataGrid-panel {
133129
translate: 0px -152%;
134130
}
135131

136132
.MuiCard-root {
137-
box-shadow: 0 0 #0000,0 0 #0000,var(--tw-shadow) !important;
138-
box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow) !important;
133+
box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow) !important;
134+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
139135
}
140136

141137
.white-text {
@@ -188,7 +184,6 @@
188184
text-align: center;
189185
}
190186

191-
192187
.card-view.expanded {
193188
position: absolute;
194189
top: 0;
@@ -218,24 +213,23 @@
218213

219214
.card-view .MuiTablePagination-root {
220215
margin-top: 0px;
221-
222216
}
223217

224218
@keyframes pulse {
225-
0% {
226-
transform: scale(0.95);
227-
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
228-
}
219+
0% {
220+
transform: scale(0.95);
221+
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
222+
}
229223

230-
70% {
231-
transform: scale(1);
232-
box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
233-
}
224+
70% {
225+
transform: scale(1);
226+
box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
227+
}
234228

235-
100% {
236-
transform: scale(0.95);
237-
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
238-
}
229+
100% {
230+
transform: scale(0.95);
231+
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
232+
}
239233
}
240234

241235
/* Workaround for Needle not handling menu placement of dropdowns on modals */
@@ -247,14 +241,14 @@
247241
/* End workaround */
248242

249243
/* Workaround for cleaning the Gantt chart UI */
250-
.gantt-wrapper > div > div:first-child > div:first-child > div:first-child > div> div:not(:first-child) {
244+
.gantt-wrapper > div > div:first-child > div:first-child > div:first-child > div > div:not(:first-child) {
251245
display: none;
252246
}
253-
.gantt-wrapper > div > div > div > div> div> div> div:not(:first-child) {
247+
.gantt-wrapper > div > div > div > div > div > div > div:not(:first-child) {
254248
display: none;
255249
}
256250
/* End Gantt chart workaround */
257251

258252
.markdown-widget a {
259253
text-decoration: underline;
260-
}
254+
}

release-notes.md

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,7 @@
1-
## NeoDash 2.4.3
2-
This release contains several improvements and additions to multi-dashboard management, as well as a bug fixes and a variety of quality-of-life improvements:
1+
## NeoDash 2.4.6
2+
This is a minor release containing a few critical fixes and some extra style customizations:
33

4-
Dashboard management and access control:
5-
- Added a UI for handling dashboard access using RBAC, as well as a new extension to simply access control.
6-
- Added button to sidebar to refresh the list of dashboards saved in the database.
7-
- Improved handling and detection of draft dashboards in the dashboard sidebar.
8-
9-
Other improvements:
10-
- Changed CSV export functionality for tables to use UTF-8 format.
11-
- Various improvements / fixes to the documentation to include new images, and up-to-date functionality.
12-
- Added logic for handling refresh tokens when connected to NeoDash via SSO.
13-
- Incorporated tooltips for bar charts with and without custom labels.
14-
15-
Bug fixes and testing:
16-
- Implemented bug fixes on type casting for numeric parameter selectors.
17-
- Fixed issue with report actions not functioning properly on node click events.
18-
- Extended test suite with Cypress tests for advanced settings in the bar chart.
19-
20-
Thanks to all the contributors for this release:
21-
- [OskarDamkjaer](https://github.com/OskarDamkjaer)
22-
- [alfredorubin96](https://github.com/alfredorubin96),
23-
- [AleSim94](https://github.com/AleSim94),
24-
- [BennuFire](https://github.com/BennuFire),
25-
- [jacobbleakley-neo4j](https://github.com/jacobbleakley-neo4j),
26-
- [josepmonclus](https://github.com/josepmonclus)
27-
- [nielsdejong](https://github.com/nielsdejong)
4+
- Fix bad text wrapping for arrays in tables ([868](https://github.com/neo4j-labs/neodash/pull/868)).
5+
- Make wrapping in table optional, disabled by default ([872](https://github.com/neo4j-labs/neodash/pull/872)).
6+
- Fixed issues where cross database dashboard sharing always reverted back to the default database ([873](https://github.com/neo4j-labs/neodash/pull/873)).
7+
- Added option to define style config using environment variables for the Docker image ([876](https://github.com/neo4j-labs/neodash/pull/876)).

scripts/config-entrypoint.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,17 @@ echo " \
2727
\"customHeader\": \"${customHeader:=}\" \
2828
}" > /usr/share/nginx/html/config.json
2929

30-
echo "${styleConfigJson:={\}}" > /usr/share/nginx/html/style.config.json
30+
echo " \
31+
{ \
32+
\"DASHBOARD_HEADER_BRAND_LOGO\": \"${DASHBOARD_HEADER_BRAND_LOGO:=}\", \
33+
\"DASHBOARD_HEADER_COLOR\" : \"${DASHBOARD_HEADER_COLOR:=}\", \
34+
\"DASHBOARD_HEADER_BUTTON_COLOR\" : \"${DASHBOARD_HEADER_BUTTON_COLOR:=}\", \
35+
\"DASHBOARD_HEADER_TITLE_COLOR\" : \"${DASHBOARD_HEADER_TITLE_COLOR:=}\", \
36+
\"DASHBOARD_PAGE_LIST_COLOR\" : \"${DASHBOARD_PAGE_LIST_COLOR:=}\", \
37+
\"DASHBOARD_PAGE_LIST_ACTIVE_COLOR\": \"${DASHBOARD_PAGE_LIST_ACTIVE_COLOR:=}\", \
38+
\"style\": { \
39+
\"--palette-light-neutral-bg-weak\": \"${STYLE_PALETTE_LIGHT_NEUTRAL_BG_WEAK:=}\" \
40+
} \
41+
}" > /usr/share/nginx/html/style.config.json
42+
43+

src/application/ApplicationActions.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
* This file contains all state-changing actions relevant for the main application.
33
*/
44

5-
import { SSOProviderOriginal } from 'neo4j-client-sso';
6-
75
export const CLEAR_NOTIFICATION = 'APPLICATION/CLEAR_NOTIFICATION';
86
export const clearNotification = () => ({
97
type: CLEAR_NOTIFICATION,
@@ -58,11 +56,10 @@ export const setConnectionProperties = (
5856
port: string,
5957
database: string,
6058
username: string,
61-
password: string,
62-
ssoProviders?: SSOProviderOriginal[]
59+
password: string
6360
) => ({
6461
type: SET_CONNECTION_PROPERTIES,
65-
payload: { protocol, url, port, database, username, password, ssoProviders },
62+
payload: { protocol, url, port, database, username, password },
6663
});
6764

6865
export const SET_BASIC_CONNECTION_PROPERTIES = 'APPLICATION/SET_BASIC_CONNECTION_PROPERTIES';
@@ -181,7 +178,7 @@ export const setStandaloneEnabled = (
181178

182179
export const SET_STANDALONE_MODE = 'APPLICATION/SET_STANDALONE_MODE';
183180
export const setStandaloneMode = (standalone: boolean) => ({
184-
type: SET_STANDALONE_ENABLED,
181+
type: SET_STANDALONE_MODE,
185182
payload: { standalone },
186183
});
187184

src/application/ApplicationReducer.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ const initialState = {
6464
database: '',
6565
username: 'neo4j',
6666
password: '',
67-
ssoProviders: [],
6867
},
6968
shareDetails: undefined,
7069
desktopConnection: null,
@@ -247,7 +246,7 @@ export const applicationReducer = (state = initialState, action: { type: any; pa
247246
return state;
248247
}
249248
case SET_CONNECTION_PROPERTIES: {
250-
const { protocol, url, port, database, username, password, ssoProviders } = payload;
249+
const { protocol, url, port, database, username, password } = payload;
251250
state = update(state, {
252251
connection: {
253252
protocol: protocol,
@@ -256,7 +255,6 @@ export const applicationReducer = (state = initialState, action: { type: any; pa
256255
database: database,
257256
username: username,
258257
password: password,
259-
ssoProviders,
260258
},
261259
});
262260
return state;

0 commit comments

Comments
 (0)