Export, Import and Reset; JSON editor removed

- Export downloads one file with the saved config, all match data and
  history, the flight cache and view settings
- Import restores such a file after a confirmation; older config-only
  .json files are accepted and keep existing match data
- Reset (with a warning) deletes everything and starts over with new
  random example watches; replaces "Reset state"
- The JSON config section is gone
- Old ntfy targets no longer stop the script: they are ignored at
  runtime and on import, shown as "no longer supported" in the editor

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Måns SivertssonandClaude Opus 5.5 committed 2026-10-13 09:08:47 +02:00
1 parent 06c41615b8
commit 9caff094ac
3 files changed
+135 -64

No files matched your search

+16 -10
View File
@@ -58,15 +58,21 @@ In the **Config** section of the dashboard:
3. Press **Save & restart**, then **Test notification**.
4. Optional: **Baseline (no alerts)** records what is available right now, so you are only told about new seats.
### JSON export / import / reset
Under the tables, **JSON – export / import / reset** holds the same config as JSON:
*Download .json* for a backup, *Load file…* or paste + *Apply JSON to tables* to restore,
*New random example* to replace the watches with freshly generated ones (notification targets are kept). Nothing takes effect until you press **Save & restart**.
Unsaved edits are colour-coded until you save or discard: **yellow** = changed field, **green** = new row,
**red** = row that will be removed on save (click ↺ to keep it).
### Export, Import, Reset
The buttons at the top right:
- **Export** downloads one `.json` file with everything: the saved config, all tracked matches (including drops and
sold-out flights), recent changes, the flight cache, and view settings (collapsed watches, sort order).
Unsaved edits in the config tables are not included.
- **Import** restores such a file after a confirmation and replaces the current config and data. Config-only `.json`
files from older versions are accepted too; they replace just the config and keep your matches and history.
- **Reset** deletes everything, after a warning, and starts over with new random example watches. Export first if you
want a backup.
## Dashboard
- **Current matches** per watch, sorted *By departure* or *Newest first* (most recently appeared seats on top).
@@ -100,15 +106,15 @@ Only one tab polls at a time, so opening the dashboard twice does not double the
- Runs only while the browser is open and the computer awake.
- Firefox / Chrome may unload background tabs under memory pressure; pinning the tab usually prevents it.
- Config, matches and history live in the userscript manager's storage on that browser only. Use *Download .json*
to move the config elsewhere.
- Config, matches and history live in the userscript manager's storage on that browser only. Use **Export** /
**Import** to back up or move everything to another browser.
## Auto-update
The script header points Tampermonkey at this repo:
```
// @version 1.4.0
// @version 1.5.0
// @updateURL https://gitea.mscloud.site/mans/sas-bonus-watch/raw/branch/main/sas-bonus-watch.user.js
// @downloadURL https://gitea.mscloud.site/mans/sas-bonus-watch/raw/branch/main/sas-bonus-watch.user.js
```
@@ -131,7 +137,7 @@ Requirements:
1. Edit `sas-bonus-watch.user.js`.
2. Run the tests: `node --test` (Node 20+).
3. **Bump `@version`** (e.g. 1.4.0 → 1.4.1). Without this, nobody gets the update.
3. **Bump `@version`** (e.g. 1.5.0 → 1.5.1). Without this, nobody gets the update.
4. Commit and push to `main`.
## Development