Conversation
- Add .exrc with which-key shortcuts under <leader>p for: - QGIS commands, testing, code quality, documentation - Debugging (DAP), utilities, git, packaging, profiling - Add .nvim.lua with project-specific LSP, formatting, linting config - Pyright configured with QGIS Python paths - conform.nvim formatting (black, isort) - nvim-lint integration (flake8, mypy) - DAP debugpy configuration with QGIS attach support - Update flake.nix with nix run convenience commands: - test, format, lint, checks, docs-serve, docs-build - package, security, clean, profile - Update .nvim-setup.sh with improved output and keybinding hints - Update .gitignore for dev workflow artifacts - Replace default.nix with flake.nix (use flake in .envrc)
- Fix isinstance() bug in easing_preview.py (was missing second argument) - Combine Preview and Chart tabs into single widget with animated dot moving along the easing curve for better visualization - Change Kartoza footer links from buttons to simple HTML hyperlinks - Move Kartoza footer above the button box - Add light/dark theme awareness to easing preview, LCD numbers, text edits, preview areas, and tooltips using palette() colors - Make easing controls horizontal (checkbox + combo side by side) to save vertical space
- Add horizontal slider next to compact frame spinbox for easier scrubbing - Slider and spinbox stay synced bidirectionally - Restore timer-based easing dot animation that was accidentally removed - Connect frame controls to update slider range when total frames changes
- Connect slider to spinbox for live value updates during drag - Render frame preview only when slider is released (not during drag) - Calculate max frames dynamically based on mode: - Fixed extent: uses extent_frames_spin value - Sphere/planar: fps × (travel_duration + hover_duration) × feature_count - Connect all relevant signals to update frame range automatically
Also have a DRY implementation for total frame count.
- Replace functools.partial() with class method for task callbacks to fix SIGSEGV crash in partial_vectorcall - Add signal disconnection when cancelling preview tasks to prevent callback accumulation - Change easing animation timer to singleShot pattern to prevent event pile-up that caused dialog to become unresponsive - Add position caching in easing dot updates to reduce pyqtgraph overhead - Use cached slider maximum values instead of recalculating on each update - Add crash handler options (gdb/catchsegv) to start scripts for debugging
- Add httpx to requirements-dev.txt (required by admin.py) - Apply Black formatting to all Python files - Apply isort import sorting - Add extend_skip to isort config for local development
- Add typer to requirements-dev.txt (required by admin.py CLI) - Pin Black to 25.x in CI to match local version
- Keep comprehensive dependabot.yml from v1.4 with pip ecosystem - Add github-actions grouping from main - Keep full QGIS dev environment flake.nix from v1.4
- Add E402 to flake8 ignore (module-level imports after code) - Replace bare except with except StopIteration - Remove unused imports (QHBoxLayout, QLabel, QSizePolicy, etc.) - Add noqa comments to __init__.py module re-exports - Fix QGISAPP variable scope issue in test utilities
- Replace os.system shell command with safe glob/os.remove for cache cleanup - Update bandit config to skip acceptable low/medium severity issues - Document rationale for each skipped security check
- Remove actions/setup-python to avoid GLIBC version mismatch - Use container's native Python3 instead - Install python3-pip in container - Use --break-system-packages for pip in container
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR includes all changes for the v1.4.0 release:
Key Changes
Frame Preview Slider (
e09443e,2f1d668,b7ecf1e)Easing Preview Enhancements (
bad08b8)Crash & Freeze Fixes (
a448b2d)functools.partial()with class methods for task callbacksDeveloper Tooling (
fe8cee8,814e41a,962f0b6)