kawa
b8c64937ea
feat(13-01): add 18 backends to BACKEND_REGISTRY with category field
...
- Removed explicit BackendType union literal; derived via keyof typeof BACKEND_REGISTRY
- Added BackendCategory type and category field to all 18 backend entries
- Added BackendMeta interface for individual entry typing
- Removed circular Record<BackendType,...> cast; replaced with as const
- Added 11 new backends: azure-files, swift, gdrive, dropbox, box, pcloud, ftp, webdav, smb, http, seafile
- Updated registry.test.ts: 48 tests covering all 18 backends, category assertions, field validation
2026-04-01 16:16:58 +02:00
kawa
356d557348
feat(10-03): enrich registry.ts with tooltipText and helpText for credential fields
...
- S3: access_key_id and secret_access_key get helpText + tooltipText (IAM console guidance)
- S3: region gets tooltipText (where to find in S3 console)
- S3-compatible: access_key_id, secret_access_key get helpText + tooltipText (provider-specific)
- S3-compatible: endpoint gets tooltipText (common endpoint examples for Wasabi, R2, MinIO)
- GCS: project_number gets tooltipText (numeric ID vs text project ID)
- GCS: service_account_credentials gets tooltipText (IAM console steps + doc link)
- B2: account and key get tooltipText (App Keys page, shown-once warning)
- OneDrive: drive_id gets tooltipText (rclone authorize output, b! prefix)
- SFTP host and user intentionally unchanged (self-explanatory per user decision)
- Azure Blob, OneDrive token, SFTP pass/key_pem existing text untouched
2026-04-01 12:55:05 +02:00
kawa
9aae9e33bd
feat(07-02): add tooltipText to registry fields + render ⓘ in FieldRenderer and PasswordField
...
- Populate tooltipText for azureblob.sas_url, azureblob.key, and onedrive.token in registry
- Add tooltipText prop and showTooltip state to PasswordField with toggle button + panel
- Add showTooltip state to FieldRenderer; pass tooltipText to PasswordField for password branch
- Add ⓘ button + panel for text/select branches in FieldRenderer
- Use sr-only span for accessible name to avoid getByLabelText collision
2026-03-31 09:55:09 +02:00
kawa
3dea5c8561
feat(07-01): extend FieldDef with validate/tooltipText and add 3 validate rules
...
- Add validate?: { regex: RegExp; message: string } to FieldDef interface
- Add tooltipText?: string to FieldDef interface (prep for Plan 07-02)
- Add validate rule to azureblob.account: /^[a-z0-9]{3,24}$/
- Add validate rule to s3.region: /^[a-z][a-z0-9-]+[a-z0-9]$/
- Add validate rule to gcs.project_number: /^\d+$/
2026-03-31 09:49:13 +02:00
kawa
c1d61d380c
feat(06-02): add sftp entry to registry, index, and rclone-conf
...
- Add sftp entry to BACKEND_REGISTRY with host, user, pass, key_pem fields
- Remove placeholder NOTE comment (sftp entry now present)
- Add sftp, onedrive, gcs, b2 to BACKEND_SCHEMAS in index.ts
- Add sftp, onedrive, gcs (google cloud storage), b2 to RCLONE_TYPE_MAP
- All 55 registry and rclone-conf tests pass; zero TypeScript errors
2026-03-30 18:12:39 +02:00
kawa
ad3d3240b1
test(06-00): add failing assertions for 7-backend registry (RED)
...
- EXPECTED_BACKENDS now includes onedrive, sftp, gcs, b2 (7 total)
- Added describe blocks for OneDrive, SFTP, GCS, Backblaze B2 field assertions
- 9 tests fail RED because registry.ts still has only 3 BackendType values
2026-03-30 17:18:30 +02:00
kawa
d495552b60
feat(05-01): enrich BACKEND_REGISTRY and update all consumers
...
- Change BACKEND_REGISTRY shape from Record<BackendType, FieldDef[]> to
Record<BackendType, { displayName, description, fields: FieldDef[] }>
- Add displayName and description to azureblob, s3, s3-compatible entries
- Update schemas/index.ts buildZodSchema to use .fields access
- Update RemoteConfigStep.tsx two .fields accesses (azureblob.find + map)
2026-03-30 09:37:16 +02:00
kawa
4c614fc06c
feat(01-02): create Backend Schema Registry with rclone-compatible field definitions
...
- BackendType union: 'azureblob' | 's3' | 's3-compatible'
- FieldDef interface with key (snake_case rclone key), label, inputType, required, and optional fields
- BACKEND_REGISTRY: azureblob (3 fields), s3 (4 fields), s3-compatible (5 fields)
- All FieldDef.key values match rclone INI config key names exactly
- registry.test.ts: 7 tests all passing (GREEN)
2026-03-26 10:16:49 +01:00