Skip to content

v0.3.1 bug fix

Choose a tag to compare

@jldz9 jldz9 released this 03 Jun 20:56
· 16 commits to main since this release

Bug Fixes

  • Download result unpacking (commands/processor.py) — processor.download() returns (Path, dict) tuple; DownloadCommand was assigning the whole tuple to output_dir. Fixed: now unpacks to output_dir, dl_stats. CommandResult.data now includes both output path and download stats.
  • HyP3 workflow marker wrong location (hyp3_base.py) — write_workflow_marker was writing insarhub_config.json to workdir/hyp3/ instead of the job folder root, so HyP3 tags never appeared in the job drawer. Fixed: writes to config.workdir.
  • Stale out_dir from saved job file (hyp3_base.py) — old hyp3_jobs.json pointing to a pre-migration path outside current workdir would silently redirect output. Fixed: out_dir rejected if not under current workdir.
  • wslpath unchecked (settings.py) — if wslpath -w failed, PowerShell was called with -File "". Fixed: returncode + empty string guard added.
  • ZIP detection for hyp3/ layout (cli/main.py) — analyzer now checks workdir/hyp3/*.zip first, with fallback to workdir/*.zip for legacy layouts.

Performance

  • Auth status parallel checks (auth.py) — HyP3 credit check, CDSE, CDS, and Earthdata checks now run concurrently via ThreadPoolExecutor instead of sequentially. Typical improvement: 3–5× faster settings panel load.
  • Job folder listing SSH speed (settings.py) — removed all per-folder glob/exists/is_file checks. Now reads only insarhub_config.json per folder. Significant speedup on remote filesystems.

Source

  • hyp3/ subdir awareness (hyp3_sbas.py, mintpy_base.py, batch.py) — all ZIP lookups now check workdir/hyp3/*.zip first, falling back to workdir/*.zip for legacy layouts. Affected paths: _unzip_hyp3, cleanup, and ERA5Downloader.download_batch.
  • Missing .mintpy.cfg guard (mintpy_base.py) — if .mintpy.cfg is not found when run() is called, a warning is printed and the config is written automatically rather than crashing downstream MintPy steps.
  • write_mintpy_config parent mkdir (defaultconfig.py) — outpath.parent.mkdir(parents=True, exist_ok=True) added before opening the file, preventing FileNotFoundError when the output directory does not yet exist.

CLI

  • prep aliasinsarhub analyzer run --step prep now accepted as alias for prep_data. Help text updated to show alias.
  • Default portinsarhub-app now defaults to 8080 (was 8000). Use --port to override.

GUI

  • Subfolder navigation (JobQueueDrawer) — click any folder to drill into subfolders; button to go up. Resets to workdir root on workdir change. Uses /api/browse-subfolders endpoint.
  • Cancel button (JobQueueDrawer) — Cancel action added for local ISCE jobs.
  • Modern folder picker (settings.py) — Windows/WSL now uses IFileOpenDialog COM API via embedded C# in PowerShell. Fixes: DPI blurriness on 2K monitors, Chinese character paths.
  • Add nyan cat

Network Graph (utils/tool.py)

  • Node labels changed from last-8-chars to YYYY-MM-DD dates.
  • Bottom axis: real acquisition dates. Top axis: days since first acquisition (swapped).
  • Left graph title removed.
  • Font sizes increased throughout; date labels rotated for readability.

Docs

  • Port references updated to 8080 across README, quickstart, and frontend docs.
  • file_structure.md/zh: added hyp3/ to directory layout; out_dir examples updated to .../hyp3.
  • cli.md/zh: --credential-pool corrected from "JSON" to plain username:password text file; prepprep_data.
  • index.md/zh: satellite support table added; program structure section moved to new Advanced page with workflow diagram.