Skip to content

Commit 3c88614

Browse files
authored
Merge pull request #3689 from kbase/develop
Merge to main for v5.4.3 release
2 parents 26d3fc0 + 9b350a5 commit 3c88614

20 files changed

Lines changed: 1839 additions & 1120 deletions

.github/dependabot.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ updates:
2121
patterns:
2222
- "*"
2323
open-pull-requests-limit: 20
24+
ignore:
25+
- dependency-name: "bootstrap"
26+
- dependency-name: "bowser"
27+
- dependency-name: "d3"
28+
- dependency-name: "jquery"
2429
- package-ecosystem: "docker"
2530
directory: "/"
2631
schedule:

Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ ARG SKIP_MINIFY
2323
EXPOSE 8888
2424

2525
# Set the default environment to be CI, can be overridden by passing new CONFIG_ENV setting at container start
26-
ENV CONFIG_ENV ci
27-
ENV DOCKER_CONTAINER true
26+
ENV CONFIG_ENV=ci
27+
ENV DOCKER_CONTAINER=true
2828

2929
# Copy in the narrative repo
3030
ADD ./kbase-logdb.conf /tmp/kbase-logdb.conf
@@ -59,8 +59,6 @@ RUN mkdir -p /kb/deployment/ui-common/ && \
5959
# Generate a version file that we can scrape later
6060
./src/scripts/kb-update-config -f src/config.json.templ -o /kb/deployment/ui-common/narrative_version && \
6161
rm -r .git && \
62-
# install core Python necessities + KBase scientific computing packages
63-
pip install -r ./src/requirements-general.txt && \
6462
# install jupyter notebook and the narrative interface
6563
/bin/bash scripts/install_narrative_docker.sh && \
6664
chown -R nobody:www-data /tmp/narrative /kb/dev_container/narrative && \
@@ -70,7 +68,7 @@ RUN mkdir -p /kb/deployment/ui-common/ && \
7068
# into the location to check for a new narrative version. Normally we would put this in the template itself
7169
# but since the raw template is consumed at build time as a JSON file, a template with a default string would
7270
# cause JSON parsing to fail - GRRRRR!!!
73-
ENV VERSION_CHECK /narrative_version
71+
ENV VERSION_CHECK=/narrative_version
7472

7573
USER nobody
7674

RELEASE_NOTES.md

Lines changed: 83 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,83 @@
22

33
The Narrative Interface allows users to craft KBase Narratives using a combination of GUI-based commands, Python and R scripts, and graphical output elements.
44

5-
This is built on the Jupyter Notebook v6.5.6 and IPython 8.26.0 (more notes will follow).
5+
This is built on the Jupyter Notebook v6.5.7 and IPython 8.28.x (more notes will follow).
6+
7+
## Version 5.4.3
8+
URO-363 - add note to the sharing panel to contact KBase about DOIs
9+
10+
- Python `requirements-general.txt` and `requirements.txt` merged into a single file so that all runtime deps are installed in one place.
11+
12+
- Python dependencies updated to the following versions:
13+
- coverage: 7.6.12
14+
- pytest: 8.3.4
15+
- pytest-cov: 6.0.0
16+
- ruff: 0.9.9
17+
- vcrpy: 7.0.0
18+
- beautifulsoup4: 4.13.3
19+
- biopython: 1.85
20+
- bokeh: 3.6.2
21+
- certifi: 2025.1.31
22+
- cryptography: 44.0.1
23+
- decorator: 5.2.1
24+
- idna: 3.10
25+
- markupsafe: 3.0.2
26+
- networkx: 3.4.2
27+
- numpy: 2.2.3
28+
- pillow: 11.1.0
29+
- plotly: 5.24.1
30+
- pyasn1: 0.6.1
31+
- pycurl: 7.45.4
32+
- pygments: 2.19.1
33+
- pyopenssl: 25.0.0
34+
- python-daemon: 3.1.2
35+
- scipy: 1.15.2
36+
- setuptools: 75.8.2
37+
- six: 1.17.0
38+
- sympy: 1.13.3
39+
- wordcloud: 1.9.4
40+
- ipython: 8.33.0
41+
- jinja2: 3.1.5
42+
- pandas: 2.2.3
43+
- pymongo: 4.11.1
44+
- scikit-learn: 1.6.1
45+
- statsmodels: 0.14.4
46+
- tornado: 6.4.2
47+
48+
- Javascript dependency updates
49+
- dompurify 3.1.6 -> 3.2.4
50+
- plotly.js-dist-min 2.35.0 -> 2.35.3 (note: next is 3.0.1, with breaking changes)
51+
- @babel/traverse 7.25.6 -> 7.26.9
52+
- @eslint/eslintrc 3.1.0 -> 3.3.0
53+
- @eslint/js 9.11.1 -> 9.21.0
54+
- @wdio/browserstack-service 9.0.9 -> 9.10.1
55+
- @wdio/cli 9.0.9 -> 9.10.1
56+
- @wdio/local-runner 9.0.9 -> 9.10.1
57+
- @wdio/mocha-framework 9.0.8 -> 9.10.1
58+
- @wdio/spec-reporter 9.0.8 -> 9.10.1
59+
- axios 1.7.7 -> 1.8.1
60+
- chromedriver 128.0.3 -> 133.0.3
61+
- commander 12.1.0 -> 13.1.0
62+
- eslint 9.11.1 -> 9.21.0
63+
- eslint-config-prettier 9.1.0 -> 10.0.2
64+
- expect-webdriverio 5.0.2 -> 5.0.5
65+
- glob 11.0.0 -> 11.0.1
66+
- globals 15.9.0 -> 16.0.0
67+
- husky 9.1.6 -> 9.1.7
68+
- jasmine-core 5.3.0 -> 5.6.0
69+
- jquery-ui 1.14.0 -> 1.14.1
70+
- lint-staged 15.2.10 -> 15.4.3
71+
- postcss 8.4.47 -> 8.5.3
72+
- prettier 3.3.3 -> 3.5.2
73+
- puppeteer 23.4.0 -> 24.3.0
74+
- sass 1.79.3 -> 1.85.1
75+
- selenium-standalone 10.0.0 -> 10.0.1
76+
- selenium-webdriver 4.25.0 -> 4.29.0
77+
- string.prototype.startswith 1.0.0 -> 1.0.1
78+
- stylelint 16.9.0 -> 16.15.0
79+
- stylelint-config-recommended 14.0.1 -> 15.0.0
80+
- stylelint-config-standard 36.0.1 -> 37.0.0
81+
- terser 5.33.0 -> 5.39.0
682

783
## Version 5.4.2
884
- UIP-52 - repair integration tests, get WebDriverIO up to date
@@ -77,7 +153,7 @@ This is built on the Jupyter Notebook v6.5.6 and IPython 8.26.0 (more notes will
77153
- stylelint-config-standard 36.0.0 -> 36.0.1
78154
- terser 5.31.1 -> 5.31.6
79155
- webdriverio 8.38.2 -> 9.0.9
80-
156+
81157
- dompurify 2.5.5 -> 3.1.6
82158
- follow-redirects 1.15.6 -> 1.15.9
83159
- jquery-ui 1.13.2 -> 1.14.0
@@ -110,11 +186,11 @@ This is built on the Jupyter Notebook v6.5.6 and IPython 8.26.0 (more notes will
110186
- ruff 0.4.7 -> 0.5.5
111187

112188
- JavaScript dependency updates
113-
- @wdio/mocha-framework 8.38.2 -> 8.39.0
114-
- chrome-launcher 1.1.1 -> 1.1.2
115-
- chromedriver 126.0.0 -> 126.0.4
116-
- postcss 8.4.38 -> 8.4.39
117-
- selenium-webdriver 4.21.0 -> 4.22.0
189+
- @wdio/mocha-framework 8.38.2 -> 8.39.0
190+
- chrome-launcher 1.1.1 -> 1.1.2
191+
- chromedriver 126.0.0 -> 126.0.4
192+
- postcss 8.4.38 -> 8.4.39
193+
- selenium-webdriver 4.21.0 -> 4.22.0
118194

119195
## Version 5.4.0
120196
- UIP-43

kbase-extension/scss/all_concat.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
@import "partials/renderJSON";
6060
@import "partials/reportViewer";
6161
@import "partials/select2";
62+
@import "partials/sharePanel";
6263
@import "partials/stagingTable";
6364
@import "partials/ui";
6465
@import "partials/userMenu";
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
.kb-share-panel {
2+
text-align: center;
3+
4+
// .kb-share-panel__global_read_status
5+
&__global_read_icon {
6+
margin-right: 10px;
7+
}
8+
9+
// .kb-share-panel__global_read_status
10+
&__global_read_status {
11+
margin: 5px;
12+
padding: 10px;
13+
}
14+
15+
// .kb-share-panel__my_access
16+
&__my_access {
17+
margin: 20px 5px 5px;
18+
}
19+
20+
// .kb-share-panel__tabs
21+
&__tabs {
22+
margin: 0px 5px;
23+
24+
&__share {
25+
width: 50%;
26+
display: inline-block;
27+
padding: 10px;
28+
border: solid;
29+
border-width: 1px 1px 0px;
30+
cursor: pointer;
31+
background-color: #d8d8d8;
32+
border-bottom: 1px solid;
33+
padding-bottom: 9px;
34+
}
35+
36+
.left {
37+
border-top-left-radius: 2px;
38+
border-right: none;
39+
}
40+
41+
.right {
42+
border-top-right-radius: 2px;
43+
}
44+
45+
.selected {
46+
background-color: white;
47+
border-bottom: none;
48+
padding-bottom: 10px;
49+
}
50+
51+
&__content {
52+
border: solid;
53+
border-width: 0px 1px 1px 1px;
54+
border-radius: 0px 0px 2px 2px;
55+
padding: 25px 15px 15px;
56+
margin: 0px 5px;
57+
58+
.select2-selection--single {
59+
min-height: 32px;
60+
}
61+
62+
.select2-container {
63+
margin-left: 5px;
64+
margin-right: 5px;
65+
}
66+
}
67+
}
68+
69+
&__btn_apply_orgs {
70+
margin-left: 10px;
71+
}
72+
73+
&__orgs_table {
74+
border: 1px solid rgb(170, 170, 170);
75+
border-radius: 4px;
76+
text-align: left;
77+
width: 51%;
78+
padding: 10px;
79+
margin: auto;
80+
margin-top: 10px;
81+
}
82+
83+
&__org_owner_message {
84+
margin-top: 18px;
85+
}
86+
87+
&__org_icon {
88+
width: 40px;
89+
margin: 8px;
90+
}
91+
92+
&__shared_users_table {
93+
margin-top: 15px;
94+
max-height: 250px;
95+
overflow-y: auto;
96+
overflow-x: hidden;
97+
display: flex;
98+
justify-content: center;
99+
100+
tr {
101+
.user_icon {
102+
text-align: left;
103+
104+
}
105+
.user_name {
106+
text-align: left;
107+
padding: 6px 4px 4px;
108+
}
109+
.user_perm_select {
110+
text-align: right;
111+
}
112+
.user_remove_btn {
113+
text-align: left;
114+
}
115+
}
116+
}
117+
118+
&__share_user_selected {
119+
width: 100%;
120+
121+
&__name {
122+
white-space: normal;
123+
}
124+
}
125+
126+
// these two are used to override Select2 template selection text.
127+
&__wrap {
128+
white-space: normal;
129+
}
130+
131+
&__nowrap {
132+
white-space: nowrap;
133+
}
134+
}

kbase-extension/static/kbase/css/all_concat.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

kbase-extension/static/kbase/css/all_concat.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

kbase-extension/static/kbase/css/all_concat.css.map.orig

Lines changed: 5 additions & 0 deletions
Large diffs are not rendered by default.

kbase-extension/static/kbase/css/all_concat.css.orig

Lines changed: 5 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)