qbit_manage/web-ui/js/config-schemas/tracker.js
bobokun 156291723f
4.5.5 (#922)
# Improvements
- **ci(docker)**: add OCI labels and build metadata to Docker images
- **Web UI**: Show an "Update available" badge next to the version and a
toast notification when a newer version is detected
- **Web UI**: Add integrated docs with collapsible sections
- **ci(build)**: Publish to PyPI
- **Category**: Allow category changes regardless of the "Category
Update All" status (Fixes #913)

# Bug Fixes
- Fixes container hanging when using run command with QBT_RUN flag
(Fixes #911)
- Fixes bug on interval scheduler not displaying the correct next run
time
- Fix bug on webAPI requests not being queued correctly when called
during a scheduled run

**Full Changelog**:
https://github.com/StuffAnThings/qbit_manage/compare/v4.5.4...v4.5.5

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Actionbot <actions@github.com>
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ineednewpajamas <73252768+ineednewpajamas@users.noreply.github.com>
2025-08-24 18:44:54 -04:00

77 lines
3.1 KiB
JavaScript

export const trackerSchema = {
title: 'Tracker',
description: 'Configure tags and categories based on tracker URLs. Use a keyword from the tracker URL to define rules. The `other` key is a special keyword for trackers that do not match any other entry.',
type: 'complex-object',
fields: [
{
type: 'documentation',
title: 'Tracker Configuration Documentation',
filePath: 'Config-Setup.md',
section: 'tracker',
defaultExpanded: false
}
],
patternProperties: {
"^(?!other$).*$": { // Matches any key except 'other'
type: 'object',
properties: {
tag: {
label: 'Tag(s)',
description: 'The tag or tags to apply to torrents from this tracker.',
type: 'array',
items: { type: 'string' }
},
cat: {
type: 'string',
label: 'Category',
description: 'Set a category for torrents from this tracker. This will override any category set by the `cat` section.',
useCategoryDropdown: true // Flag to indicate this field should use category dropdown
},
notifiarr: {
type: 'string',
label: 'Notifiarr React Name',
description: 'The Notifiarr "React Name" for this tracker, used for indexer-specific reactions in notifications.',
}
},
required: ['tag'],
additionalProperties: false
},
"other": { // Special handling for the 'other' key
type: 'object',
properties: {
tag: {
label: 'Tag(s)',
description: 'The tag or tags to apply to torrents from any tracker not explicitly defined elsewhere.',
type: 'array',
items: { type: 'string' }
}
},
required: ['tag'],
additionalProperties: false
}
},
additionalProperties: { // Schema for dynamically added properties (new tracker entries)
type: 'object',
properties: {
tag: {
label: 'Tag(s)',
description: 'The tag or tags to apply to torrents from this tracker.',
type: 'array',
items: { type: 'string' }
},
cat: {
type: 'string',
label: 'Category',
description: 'Set a category for torrents from this tracker. This will override any category set by the `cat` section.',
useCategoryDropdown: true // Flag to indicate this field should use category dropdown
},
notifiarr: {
type: 'string',
label: 'Notifiarr React Name',
description: 'The Notifiarr "React Name" for this tracker, used for indexer-specific reactions in notifications.',
}
},
required: ['tag'],
additionalProperties: false
}
};