Skip to content

Conversation

@sevein
Copy link
Member

@sevein sevein commented Sep 30, 2025

This pull request includes several operational and performance improvements, such as static asset optimization, enhanced deployment configurations, and a new CLI tool for initial setup, e.g. at deploy time.

Please review the individual commits for detailed changes and updates.

Also, increase workers back to 3 in dev, setting it to 1 for debugging
was a mistake since browsers open multiple parallel connections.
Share the base bundle’s CSS/JS so Font Awesome and jQuery UI ship once.

Further optimization can be done.

Before:

```
[ 192]  AIPscan/static/dist/
├── [ 800]  base
│   ├── [314K]  base.css
│   ├── [417K]  base.js
│   ├── [131K]  fa-brands-400.eot
│   ├── [730K]  fa-brands-400.svg
│   ├── [131K]  fa-brands-400.ttf
│   ├── [ 88K]  fa-brands-400.woff
│   ├── [ 75K]  fa-brands-400.woff2
│   ├── [ 33K]  fa-regular-400.eot
│   ├── [141K]  fa-regular-400.svg
│   ├── [ 33K]  fa-regular-400.ttf
│   ├── [ 16K]  fa-regular-400.woff
│   ├── [ 13K]  fa-regular-400.woff2
│   ├── [198K]  fa-solid-900.eot
│   ├── [897K]  fa-solid-900.svg
│   ├── [198K]  fa-solid-900.ttf
│   ├── [ 99K]  fa-solid-900.woff
│   ├── [ 76K]  fa-solid-900.woff2
│   ├── [7.0K]  ui-icons_444444_256x240.png
│   ├── [6.9K]  ui-icons_555555_256x240.png
│   ├── [4.5K]  ui-icons_777620_256x240.png
│   ├── [7.0K]  ui-icons_777777_256x240.png
│   ├── [4.5K]  ui-icons_cc0000_256x240.png
│   └── [6.4K]  ui-icons_ffffff_256x240.png
├── [ 128]  chart_formats_count
│   ├── [228K]  chart_formats_count.css
│   └── [369K]  chart_formats_count.js
├── [ 160]  plot_formats_count
│   ├── [228K]  plot_formats_count.css
│   ├── [ 86K]  plot_formats_count.js
│   └── [ 11M]  plotly.js
└── [ 800]  report_base
    ├── [131K]  fa-brands-400.eot
    ├── [730K]  fa-brands-400.svg
    ├── [131K]  fa-brands-400.ttf
    ├── [ 88K]  fa-brands-400.woff
    ├── [ 75K]  fa-brands-400.woff2
    ├── [ 33K]  fa-regular-400.eot
    ├── [141K]  fa-regular-400.svg
    ├── [ 33K]  fa-regular-400.ttf
    ├── [ 16K]  fa-regular-400.woff
    ├── [ 13K]  fa-regular-400.woff2
    ├── [198K]  fa-solid-900.eot
    ├── [897K]  fa-solid-900.svg
    ├── [198K]  fa-solid-900.ttf
    ├── [ 99K]  fa-solid-900.woff
    ├── [ 76K]  fa-solid-900.woff2
    ├── [315K]  report_base.css
    ├── [418K]  report_base.js
    ├── [7.0K]  ui-icons_444444_256x240.png
    ├── [6.9K]  ui-icons_555555_256x240.png
    ├── [4.5K]  ui-icons_777620_256x240.png
    ├── [7.0K]  ui-icons_777777_256x240.png
    ├── [4.5K]  ui-icons_cc0000_256x240.png
    └── [6.4K]  ui-icons_ffffff_256x240.png

5 directories, 51 files
```

After:

```
[ 192]  AIPscan/static/dist/
├── [ 800]  base
│   ├── [314K]  base.css
│   ├── [417K]  base.js
│   ├── [131K]  fa-brands-400.eot
│   ├── [730K]  fa-brands-400.svg
│   ├── [131K]  fa-brands-400.ttf
│   ├── [ 88K]  fa-brands-400.woff
│   ├── [ 75K]  fa-brands-400.woff2
│   ├── [ 33K]  fa-regular-400.eot
│   ├── [141K]  fa-regular-400.svg
│   ├── [ 33K]  fa-regular-400.ttf
│   ├── [ 16K]  fa-regular-400.woff
│   ├── [ 13K]  fa-regular-400.woff2
│   ├── [198K]  fa-solid-900.eot
│   ├── [897K]  fa-solid-900.svg
│   ├── [198K]  fa-solid-900.ttf
│   ├── [ 99K]  fa-solid-900.woff
│   ├── [ 76K]  fa-solid-900.woff2
│   ├── [7.0K]  ui-icons_444444_256x240.png
│   ├── [6.9K]  ui-icons_555555_256x240.png
│   ├── [4.5K]  ui-icons_777620_256x240.png
│   ├── [7.0K]  ui-icons_777777_256x240.png
│   ├── [4.5K]  ui-icons_cc0000_256x240.png
│   └── [6.4K]  ui-icons_ffffff_256x240.png
├── [ 128]  chart_formats_count
│   ├── [228K]  chart_formats_count.css
│   └── [369K]  chart_formats_count.js
├── [ 160]  plot_formats_count
│   ├── [228K]  plot_formats_count.css
│   ├── [ 86K]  plot_formats_count.js
│   └── [ 11M]  plotly.js
└── [  96]  report_base
    └── [ 87K]  report_base.js
```
Copy link
Contributor

@replaceafill replaceafill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 👍

sevein added 8 commits October 3, 2025 05:31
This commit adds a simple Flask command so the user can set up an
instance of Storage Service from the command-line interface. We use it
in our Docker Compose environment to set up the default config in
development environments.
This prevents the Docker entrypoint from running in the MySQL container.
Update the installation instructions to recommend serving compiled static
assets directly through Nginx. This offloads the task from Flask and reduces
the workload on the application server.
Add a temporary disable/enable guard around the fetch button so operators can't
accidentally queue overlapping workflows.

Document that the browser still orchestrates the workflow chain. Also, the POST
blocks up to 60s waiting for the task identifier. A deeper front/back-end
refactor is needed, e.g. move orchestration server-side, exposes durable status
and guarantees short-lived requests.
@sevein sevein merged commit 0737552 into main Oct 3, 2025
9 checks passed
@sevein sevein deleted the dev/small-fixes branch October 3, 2025 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants