Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
d04c452
Fix bug in viewer_open kind (#865)
ac-61 Feb 17, 2026
9bb4ecb
Add config option to set initial zoom in mobile mode (#866)
ac-61 Feb 17, 2026
d5bc4c8
AnimationTool fixes (#867)
tariqksoliman Feb 18, 2026
f665ed0
Update auxiliary create-stac-item scripts to support outputting to a …
tariqksoliman Feb 20, 2026
c65a781
#868 Improve Dockerfile (#869)
tariqksoliman Feb 24, 2026
2c2eeb1
titiler-pgstac perf fix (#870)
tariqksoliman Feb 24, 2026
4e94df5
#871 Bug: DyanmicExtent+Threshold Layers do not properly update (#872)
tariqksoliman Feb 26, 2026
203e628
Add font types as asset to webpack (#874)
ac-61 Feb 26, 2026
de07ed5
Fix issues in mobile version (#875)
ac-61 Feb 26, 2026
9f83401
More fixes for mobile mode (#878)
ac-61 Mar 2, 2026
2e3111f
#863 Allow linking to external MMGIS stac catalogs (#864)
tariqksoliman Mar 2, 2026
9b0ab70
Security fixes (#880)
tariqksoliman Mar 2, 2026
5048f17
Fix security issues (#884)
tariqksoliman Mar 5, 2026
eee6abe
Improve login page for smaller screens (#883)
ac-61 Mar 5, 2026
1f15ee9
Fix bug in viewer_open kind (#882)
ac-61 Mar 6, 2026
af56730
#886 Fix Initial Start and End Time configurations parameters (#887)
tariqksoliman Mar 9, 2026
41f7c4e
Remove redundant urlencoded (#888)
tariqksoliman Mar 10, 2026
f9a781b
#889 Fix Time Type = Local and Refresh Interval don't work together (…
tariqksoliman Mar 10, 2026
05ac392
Update time and timetype metaconfigs (#891)
tariqksoliman Mar 10, 2026
c2aaefe
#892 Fix queryTilesetTimes does not update on layer toggles (#893)
tariqksoliman Mar 10, 2026
48dc75e
#895 Fix DrawTool bugs, template field naming, not null adv filters (…
tariqksoliman Mar 11, 2026
3103c36
Bump node req from v20 -> v22
tariqksoliman Mar 16, 2026
38e2eef
Upgrade Adjacent Servers and sample ENVs (#897)
tariqksoliman Mar 18, 2026
61f5ab8
Fix TiTiler version
tariqksoliman Mar 18, 2026
d79d849
#898 Support TiTiler layers in Cesium Globe (#900)
tariqksoliman Mar 19, 2026
43b48d3
Add .gitattributes (#901)
tariqksoliman Mar 19, 2026
b0ec64e
Update .gitattributes for _docker-entrypoint.sh
tariqksoliman Mar 19, 2026
c5a1fc4
Fix image loading in OpenSeadragon (#899)
ac-61 Mar 19, 2026
1d686e6
#904 Release AnalysisTool and OperationsClock (#906)
tariqksoliman Mar 19, 2026
92f5116
Update ATTRIBUTIONS/md
tariqksoliman Mar 20, 2026
33894c5
#907 Fix updateClampedRasterForLayer is not a function (#908)
tariqksoliman Mar 20, 2026
e3cfe00
Add option to display Latitude/Longitude in coordinates display (#905)
ac-61 Mar 23, 2026
0624a2c
#909 Fix DrawTool Templated Point Origin point sometimes get stuck (#…
tariqksoliman Mar 23, 2026
3c2c6e5
#911 Put Adjacent Servers behind Auth (#912)
tariqksoliman Mar 24, 2026
9d7fa5e
Fix missions middleware (#914)
tariqksoliman Mar 27, 2026
a94f684
Update README.md (#913)
tariqksoliman Mar 27, 2026
70863e9
Update README.md
tariqksoliman Mar 27, 2026
0d2c0d0
Update README.md
tariqksoliman Mar 27, 2026
5a964eb
#915 Fix Hover Feature Label and Layer Tags can wrongly get assigned …
tariqksoliman Mar 27, 2026
4d842d3
Update github workflow: docker-build.yml (#917)
tariqksoliman Mar 28, 2026
dacac89
#885 [Quality of Life]: Create a Demo/Testing Mission that exposes ev…
tariqksoliman Apr 2, 2026
2a996a2
Fix Dockerfile COPY blueprints (#920)
tariqksoliman Apr 2, 2026
7e9103d
Add Secrets Detection Workflow (#921)
tariqksoliman Apr 2, 2026
6f8ff70
security: update server/middleware packages including express v5, pg-…
tariqksoliman Apr 7, 2026
683db2b
security: Remove react-dev-utils, pin all build toolchain dependencie…
tariqksoliman Apr 7, 2026
3281b52
#925 Fix populateCogScale (#926)
tariqksoliman Apr 7, 2026
25b35e5
Bump to 4.3
tariqksoliman Apr 8, 2026
f0028cb
fix: BLOCKER fixes + E2E & unit tests for security, correctness, and …
tariqksoliman Apr 8, 2026
8507eeb
test: comprehensive Playwright E2E and unit test infrastructure (Wave…
tariqksoliman Apr 9, 2026
6e2d77e
fix(security): Improve parameterization for SQL queries in Draw/Files…
tariqksoliman Apr 10, 2026
10fefa5
fix(security): Improve SQL parameterization in filesutils.js and add …
tariqksoliman Apr 10, 2026
199c1b2
fix(security): break SonarQube taint chain in queryTilesetTimes fs.re…
tariqksoliman Apr 10, 2026
49de998
fix(security): Improve SQL parameterization for geodatasets + compreh…
tariqksoliman Apr 10, 2026
3270af9
fix(security): Break SonarQube S3649 taint chains in filesutils.js (#…
tariqksoliman Apr 10, 2026
9018fc5
Add option to set tool to open by default (#923)
ac-61 Apr 13, 2026
114ac8e
Upgrade PostgreSQL from 16-3.4-alpine to 18-3.6-alpine (#935)
tariqksoliman Apr 15, 2026
0e6af4b
feat: add 3D Cesium gradient polyline support and performance optimiz…
tariqksoliman Apr 17, 2026
4c1f655
Add AI-GETTING-STARTED.md
tariqksoliman Apr 17, 2026
36a0367
Add LithoSphere gradient layer support via lithosphere ^1.6.0 (#937)
tariqksoliman Apr 20, 2026
e9f6297
Fix typo: Geographical -> Geographic (#938)
tariqksoliman Apr 20, 2026
70b1c50
#939 Release SegmentTool (#940)
tariqksoliman Apr 20, 2026
c96ed77
Fix 5 security vulnerabilities from MMGIS security audit (#941)
tariqksoliman Apr 21, 2026
7a577df
Add TiTiler Planetcantile e2e tests and auto-start adjacent servers i…
tariqksoliman Apr 22, 2026
32df8c6
feat: React UI migration - Zustand store, bridge, components + ToolCo…
tariqksoliman Apr 22, 2026
63b5a47
Add KML import support for MMGIS vector layers (#945)
tariqksoliman Apr 22, 2026
ad84800
Support data layers with plain URL rgba tiles in Reference-Mission + …
tariqksoliman Apr 22, 2026
63e7873
Fix DEM tile corruption by using nearest-neighbor resampling for RGBA…
tariqksoliman Apr 22, 2026
9173c94
Move dem_rgba_tiles to Data/ and add bounding box support to Viewshed…
tariqksoliman Apr 23, 2026
df26ff3
Bump version
tariqksoliman Apr 23, 2026
d8f13be
fix: add curl to runtime stage for healthcheck support (#949)
tariqksoliman Apr 23, 2026
34b8bc0
Bump version
tariqksoliman Apr 23, 2026
7745740
fix: prevent infinite redirect loop when ROOT_PATH is set (#950)
tariqksoliman Apr 23, 2026
ea02627
Bump version
tariqksoliman Apr 23, 2026
933a619
feat: add extra e2e test safety improvements (production fail-safe, t…
tariqksoliman Apr 27, 2026
a45e9ff
#952 Improve dataset endpoint error catching (#953)
tariqksoliman Apr 28, 2026
61fe0d4
feat: Add 3D extrusion for vectortile layers + 3D Tiles support (#942)
jdrodjpl Apr 28, 2026
4f7f143
#955 Fix login pathing for external proxies (#956)
tariqksoliman May 5, 2026
081c65b
Fix clearGradientHoverPoint missing in mockLitho (#957)
tariqksoliman May 5, 2026
8d4242d
#960 Fix DrawTool - Templated point type points do not respect time f…
tariqksoliman May 7, 2026
315f931
Add Minimum Specs section to README
tariqksoliman May 8, 2026
dc1cfe0
Update minimum specs description for t3.small instance
tariqksoliman May 8, 2026
c527727
#966 Poor configure/upsert SQL and websocket body causes memory spike…
tariqksoliman May 11, 2026
9966a84
MMGIS 5.0.0 — React 18, Design System, Theming, UI Restructure (#959)
tariqksoliman May 12, 2026
fc19293
fix: serialize concurrent layer reloads and stop mutating layer.url (…
tariqksoliman May 13, 2026
752f179
feat(plugins): per-plugin deps, validation & shared discovery (#975)
tariqksoliman May 14, 2026
bd540cf
feat(api): pass through reloadLayer flags in mmgisAPI.reloadLayers (#…
tariqksoliman May 18, 2026
740a572
fix(measure): rename config DEM field from 'dem' to 'url' (#980)
tariqksoliman May 19, 2026
3eee511
fix(ui): SegmentTool background, Clipboard API, context menu test sel…
tariqksoliman May 21, 2026
5b84e04
feat: add Lunar South Pole reference mission variant (IAU2000:30120) …
tariqksoliman May 21, 2026
f93720c
fix(security): apply 7 Sonar security recommendations with TDD (#983)
tariqksoliman May 22, 2026
4cb7693
fix(map): expose L_.Map_ before makeLayers to prevent race condition …
tariqksoliman May 26, 2026
b8484fb
fix(deps): security upgrades — 49→13 vulnerabilities + materialize-cs…
tariqksoliman May 26, 2026
75e56eb
Standardize plugin dep script in dockerfile
tariqksoliman Jun 11, 2026
f48f825
Release version 5.0.15 (#994)
tariqksoliman Jun 11, 2026
6ffb9f8
Update CHANGELOG.md release date
tariqksoliman Jun 11, 2026
94b4512
Sightline Tool (previously ShadeTool) (#993)
tariqksoliman Jun 15, 2026
f575e86
fix(legal): audit attributions.js and add NOTICE file (#997)
tariqksoliman Jun 15, 2026
b253ed9
refactor: extract rate limiters into shared scripts/rateLimiters.js m…
tariqksoliman Jun 15, 2026
36df6ab
feat: Plugin ecosystem overhaul (#999)
tariqksoliman Jun 18, 2026
23c6ca2
fix: db volume mount path for postgres 18 (#1000)
Originaljsx Jun 18, 2026
5327447
fix: Express 5 req.query mutation breaks Draw publish, Geodatasets ge…
tariqksoliman Jun 18, 2026
b082702
docs+feat: update plugin docs, rename remove → uninstall, org--repo n…
tariqksoliman Jun 18, 2026
d11f840
fix: copy plugins/ directory into Docker runtime stage (#1003)
tariqksoliman Jun 19, 2026
54fca8c
fix: DrawTool Review panel hidden by tool panel backdrop-filter conta…
tariqksoliman Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
73 changes: 70 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,78 @@
node_modules
# Dependencies (installed in Docker)
node_modules/
**/node_modules/
npm-debug.log
API/node_modules

# Mission data
Missions
Missions_rel
Missions_dev

# Environment and config
.env

# Git
**/.git
.git/
.github/

# Data directories
data

# Utility scripts and processing tools (not needed at runtime)
auxiliary/
sds/

# SPICE kernels (large data files, mounted as volumes at runtime)
spice/kernels/*
!spice/kernels/.gitkeep

# Build artifacts (rebuilt in Docker)
build/
**/build/
dist/

# Documentation (not needed at runtime)
docs/
!docs/mmgis-openapi.json
specs/
*.md
!README.md

# Tests
tests/
test-results/
playwright-report/
.playwright/
*.test.js
*.spec.js

# Development tools
.vscode/
.idea/
.claude/
.specify/
.playwright-mcp/
.serena/
_ignore/

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Temporary files
*.swp
*.swo
*~
*DS_Store
*__pycache__
*__pycache__

# IDE files
*.iml

# CI/CD artifacts
.terraform/
.terraform.lock.hcl
sessions
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Ensure shell scripts always use LF line endings
_docker-entrypoint.sh text eol=lf
28 changes: 9 additions & 19 deletions .github/workflows/bump-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ jobs:

steps:
- name: Checkout PR branch
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
ref: ${{ github.head_ref }} # Check out the PR branch, not merge commit
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: "20"

Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
echo "✓ All version changes were made by the bot, checking if date is current..."

# Get current version and extract date
CURRENT_VERSION=$(node -p "require('./package.json').version")
CURRENT_VERSION=$(jq -r .version package.json)
VERSION_DATE=$(echo $CURRENT_VERSION | grep -oE '[0-9]{8}$' || echo "")

if [ "$VERSION_DATE" == "$TODAY" ]; then
Expand All @@ -74,7 +74,7 @@ jobs:
fi
else
echo "✓ Version was manually updated by a user"
CURRENT_VERSION=$(node -p "require('./package.json').version")
CURRENT_VERSION=$(jq -r .version package.json)
echo "needs_bump=false" >> $GITHUB_OUTPUT
echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
fi
Expand All @@ -91,7 +91,7 @@ jobs:
DATE=$(date +%Y%m%d)

# Read current version from package.json
CURRENT_VERSION=$(node -p "require('./package.json').version")
CURRENT_VERSION=$(jq -r .version package.json)
echo "Current version: $CURRENT_VERSION"

# Strip any existing date suffix (e.g., 4.1.1-20251022 -> 4.1.1)
Expand All @@ -116,22 +116,12 @@ jobs:
fi

# Update package.json
node -e "
const fs = require('fs');
const pkg = require('./package.json');
pkg.version = '$NEW_VERSION';
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\n');
"
jq --arg v "$NEW_VERSION" '.version = $v' package.json > tmp.json && mv tmp.json package.json
echo "✓ Updated package.json"

# Update configure/package.json (with error handling)
if [ -f configure/package.json ]; then
node -e "
const fs = require('fs');
const pkg = require('./configure/package.json');
pkg.version = '$NEW_VERSION';
fs.writeFileSync('./configure/package.json', JSON.stringify(pkg, null, 2) + '\n');
"
jq --arg v "$NEW_VERSION" '.version = $v' configure/package.json > tmp.json && mv tmp.json configure/package.json
echo "✓ Updated configure/package.json"
else
echo "ℹ configure/package.json not found, skipping"
Expand Down Expand Up @@ -168,7 +158,7 @@ jobs:

- name: Comment on PR - Version Auto-Bumped
if: steps.check.outputs.needs_bump == 'true'
uses: actions/github-script@v7
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
with:
script: |
const comment = `## 🤖 Version Auto-Bumped
Expand Down Expand Up @@ -214,7 +204,7 @@ jobs:

- name: Comment on PR - Version Already Updated
if: steps.check.outputs.needs_bump == 'false'
uses: actions/github-script@v7
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
with:
script: |
const comment = `## ✅ Version Already Updated
Expand Down
Loading