Files
premier-gunner/s9pk/startos/versions/current.ts
T
Keysat 284c5ff079 Add full category & metric management in Settings
- New Settings editor: rename categories (emoji/color too), rename
  metrics, change unit and type, add/remove metrics, set step + record
  tracking, archive/unarchive, and permanently delete categories.
- Settings now lists archived categories so they can be restored/deleted.
- Backend: add DELETE /api/categories/:id (cascades metrics, entries,
  entry_values, plans, goals).
- Bump StartOS package to 0.1.6:0; service worker cache to v6.
2026-06-04 08:43:11 -05:00

29 lines
1.7 KiB
TypeScript

import { IMPOSSIBLE, utils, VersionInfo } from '@start9labs/start-sdk'
import { store } from '../fileModels/store'
export const current = VersionInfo.of({
version: '0.1.6:0',
releaseNotes: {
en_US: 'Full category management in Settings: rename categories and metrics, change units & type, add or remove metrics, and archive or permanently delete categories.',
es_ES: 'Gestión completa de categorías en Ajustes: renombra categorías y métricas, cambia unidades y tipo, añade o elimina métricas, y archiva o elimina categorías permanentemente.',
de_DE: 'Vollständige Kategorienverwaltung in den Einstellungen: Kategorien und Metriken umbenennen, Einheiten & Typ ändern, Metriken hinzufügen/entfernen sowie Kategorien archivieren oder endgültig löschen.',
pl_PL: 'Pełne zarządzanie kategoriami w Ustawieniach: zmiana nazw kategorii i metryk, zmiana jednostek i typu, dodawanie/usuwanie metryk oraz archiwizacja lub trwałe usuwanie kategorii.',
fr_FR: "Gestion complète des catégories dans les Réglages : renommer catégories et métriques, changer unités et type, ajouter ou supprimer des métriques, et archiver ou supprimer définitivement des catégories.",
},
migrations: {
up: async ({ effects }) => {
// Generate a random login password on first install so the app is never
// left on a known default. The user can change it via "Set Login Password".
const existing = await store.read().once()
if (!existing) {
const password = utils.getDefaultString({
charset: 'a-z,A-Z,2-9',
len: 16,
})
await store.write(effects, { password })
}
},
down: IMPOSSIBLE,
},
})