Skip to content

Multiple Bug Fixes across MSSQL, Redis, Email, and Storage Adapters#89

Merged
Skyfay merged 7 commits into
mainfrom
dev
May 19, 2026
Merged

Multiple Bug Fixes across MSSQL, Redis, Email, and Storage Adapters#89
Skyfay merged 7 commits into
mainfrom
dev

Conversation

@Skyfay

@Skyfay Skyfay commented May 19, 2026

Copy link
Copy Markdown
Owner

No description provided.

Skyfay added 7 commits May 19, 2026 13:58
Prevent silently swallowed listing errors across Local, SMB and FTP adapters so the stats cache DB fallback and scanError handling work correctly.

- Local: removed inner fs.access wrapper so real I/O errors propagate; only treat non-root ENOENT as an empty-result (no backups yet); other errors now throw.
- SMB & FTP: inner walk/list catch blocks now re-throw when listing the start/root directory (connection/auth failures) and only silently continue for sub-directory errors (e.g. restricted folder).
- Tests: updated unit tests for Local/SMB/FTP list() behavior to expect throws for root/connection errors and to document silent-skips for subdirectory failures.
- Docs: added vNEXT changelog entries describing the bug, fixes, test updates, and Docker image tags.
Fix orphaned connection-test files by adding robust cleanup across storage adapters. Several adapters (Dropbox, FTP, Google Drive, Local, OneDrive, Rsync, S3, SFTP, SMB, WebDAV) now track whether a test file was created and use a finally block to attempt a best‑effort deletion if an earlier delete throws. Also updates the changelog to document the bugfix. This prevents leftover `.connection-test-*` / `.dbackup-test-*` files when network or server errors occur during the delete step.
Expose S3 StorageClass through FileInfo and adapter interfaces, surface obj.StorageClass in s3.list results, and warn in the S3 schema description. In the dashboard: show Glacier/Deep Archive badges in the file list, disable Download/Restore actions for archived objects with explanatory tooltips, and show an alert in the storage adapter form when an archived storage class is selected. In the S3 download implementation, detect AWS InvalidObjectState and throw a descriptive error so the UI can surface the proper message. Also updated the changelog to describe the UX improvements.
Make primary credential profiles optional for adapters that can operate without stored credentials. The config resolver now respects a new `primaryOptional` flag and only throws when a required primary credential is missing; when optional and no profile is assigned, the structural config fields are used directly. Added `primaryOptional` to the adapter definitions and enabled it for Redis and Email (SMTP). Also updated changelog to document fixes for Redis and automated email credential handling.
Include databases in non-ONLINE states in the Database Explorer by removing the d.state = 0 filter and adding state_desc to the query (and GROUP BY) so offline/restoring/AG replica DBs are listed. Change error handling to throw the wrapped error instead of returning an empty array so connection errors are propagated to the UI. Also add a corresponding changelog entry.
Introduce a primaryOptional boolean on AdapterCredentialRequirements to allow adapters to operate without a primary credential profile; when true the config resolver will skip the missing-credential error and fall back to structural config values. Update tests accordingly: config-resolver.test now expects the email adapter to declare primaryOptional: true, and the mssql connection test was adjusted to assert that getDatabasesWithStats throws on connection failure (test renamed and assertion changed to expect rejects.toThrow). Files changed: src/lib/core/credentials.ts, tests/unit/adapters/config-resolver.test.ts, tests/unit/adapters/database/mssql/connection.test.ts.
Release v2.3.3: update project and docs versions and add release notes. Bumps version from 2.3.2 to 2.3.3 in package.json and docs/package.json, updates OpenAPI info version in api-docs/openapi.yaml and public/openapi.yaml, and adds the v2.3.3 release entry (with Docker image/tag updates and release date) to docs/changelog.md to document bug fixes across MSSQL, Redis, Email, and storage adapters.
@Skyfay
Skyfay merged commit 55aeeea into main May 19, 2026
7 checks passed
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.

1 participant