- Implemented main entry point for React application in `main.jsx`.
- Created `Gallery` component for displaying images with infinite scroll and pull-to-refresh functionality.
- Developed `ImageDetail` component for showing detailed information and actions for selected images.
- Added `Settings` component for configuring API connection settings.
- Integrated Vite for build and development with PWA support.
- Implemented caching strategies for API responses and image previews using Workbox.
- Added read-write access to the darktable SQLite catalog for module parameter edits.
- Implemented new endpoints for exporting images and retrieving full-resolution images.
- Introduced PATCH method for updating module parameters with optional preview.
- Added comprehensive tests for new API functionalities, including module retrieval and error handling.
- Updated CORS headers to support new HTTP methods.
- Created detailed documentation for new API endpoints and module operations.
- Introduced a new Lua-based REST API for darktable, allowing external applications to interact with the darktable library.
- Implemented core functionalities including image listing, retrieval, and preview serving.
- Added support for OAuth 2.0 authentication with token generation.
- Created a simple HTTP router to handle API requests.
- Included JSON encoding/decoding utilities for API responses.
- Developed a script to launch the API server alongside darktable, ensuring seamless integration.
- Added necessary configuration and setup for the API server, including CORS support and error handling.
event conflict with official/group_persistence. Moving to contrib forces
toggle_group_view to load before group_persistence and thus get events that
both need, first. If the order is reversed then toggle_group_view can bog
down in a loop making darktable unresponsive.
Fixed bad call in destroy and added check for selection-changed to make sure
there are images before trying to set sensitivity.
files in the filmroll and check the
"known" files against the file list.
This cuts the number of system calls
from 1 per image to 1 per film roll
resulting an incredible speed up on
windows and a good speedup on other
platforms.
1) enfuse has argument --contrast-min-curvature taking string with a percent sign. When that runs on Windows, it fails due to the fact that % means env var substitution in Windows command lines. we have to escape it with double percent
2) when enfuse produces a jpg, it takes argument --compression with an integer value. But the script takes it from GUI and passes as a float which breaks enfuse.
3) When errors like these happen, the script forgets to stop darktable job leaving dangling string in UI.
"log.log_msg" triggers a lua function error, because that function does not exist.
Additionally add add set_log_level / restore_log_level to improve compatibility with other files.