Endringslogg

Lodd – Endringslogg

Versjonshistorikk for Lodd-systemet.

Viser 4 versjoner

Forstå versjonsnumre

Vi bruker semantisk versjonering (SemVer) slik at du enkelt kan se hva hver oppdatering innebærer:

Major (X.0.0)

Brytende endringer som kan kreve handling fra brukere.

2.8.0 → 3.0.0

Minor (0.X.0)

Nye funksjoner lagt til på en bakoverkompatibel måte.

3.0.0 → 3.1.0

Patch (0.0.X)

Feilrettinger og mindre forbedringer.

3.1.0 → 3.1.1

Viser 10 av 11 versjoner

Version 1.5.2

10.06.2026

Minor

Admin: Nettstedsinnstillinger og Statistikk

  • Nettstedsinnstillinger: Ny hub på /admin/settings med faner for Nightscout, gratis kontoer, lodd, vedlikehold og brukere.
  • Statistikk: /admin/statistics samler nettsted-, lodd- og Nightscout-statistikk i én side med faner.
  • Admin-rot: /admin/ sender gjester til innlogging; innloggede site-admins til /admin/statistics. Gamle URL-er videresender (301).

Sikkerhet og drift

  • Debug-filer fjernet, sensitive mapper blokkert, HSTS og scoped CORS.
  • Opplastingsmapper blokkerer PHP-kjøring.

Nye funksjoner

  • Kalkulator: ICR/ISF/mål/pumpetrinn lagres på profil for innloggede brukere.
  • PWA for Lodd og sammenligning; dashboard aktivitetskort.
  • Nightscout: 3-trinns onboarding, /nightscout/status, gratis-kvote e-postvarsel (CLI).

Teknisk

  • Store PHP-filer delt opp; filemtime cache busting; Test/smoke-test.php.
  • Dokumentasjon bruker /compare/ som kanonisk URL.

Klassisk sammenligning avviklet

  • Omdirigering: /compare/classic/ videresender permanent til /compare/.
  • UI: Klassiske lenker fjernet fra sammenligningssiden, sidemeny, dokumentasjon og kalkulator.

Smart sammenligning (Compare2)

  • Ny side: /compare/ med prioritetsbasert enhetsveileder, modellkatalog (32+ enheter), bla og sammenlign side om side.
  • Sikkerhetskopi: Full tar-sikkerhetskopi av diabetes.newstargeted.com til /home/backup før endringer.
  • Legacy /compare/: Enhetsdata oppdatert for juni 2026 (Omnipod 5, MiniMed Flex, Dexcom Stelo, Libre 3 Plus). Feil suffix og penn-spesifikasjoner rettet.
  • Navigasjon: Sidemeny, forside og /docs oppdatert med Compare2-lenker.

Sidemeny og forside

  • Sidemeny: Sammenleggbare kategorier (Oversikt, Verktøy, Min konto, Nightscout) med lagret tilstand; aktiv seksjon åpnes automatisk ved innlasting.
  • Forside: Nye seksjoner for offentlige verktøy, Nightscout, medlemsverktøy og hjelp/info.
  • Bunntekst: Forenklet layout; dokumentasjon forblir i juridisk rad.
  • Rettet: Sidemeny på kjøreregning, faktura, referat og profil (CSS-cache); endringslogg viser kun siste versjon utvidet som standard.

Samlet dokumentasjon på /docs

  • Ny side: Offentlig dokumentasjon for alle verktøy (Lodd, sammenligning, kalkulator, Nightscout, medlemsverktøy, konto) på /docs med norsk og engelsk innhold.
  • Nightscout: /nightscout/docs omdirigeres til /docs#nightscout-hosting.
  • Navigasjon: Dokumentasjon-lenke i bunntekst (juridisk rad) og sidemeny; Nightscout Hosting-knapp peker til ny anker.

E-post: autentisert SMTP for tilbakestillingslenker

  • API mail-relay: [email protected] bruker nå autentisert SMTP (port 587) via api.newstargeted.com i stedet for sendmail-fallback.
  • Glemt passord: Tilbakestillingslenker sendes pålitelig til registrert e-post (testet til [email protected]).
  • Drift: Mail-relay-passord rotert og lagret i api config.php (chmod 600). PHP mail()-fallback beholdes som sikkerhetsnett.

Admin, Nightscout-innstillinger og profil

  • Admin brukere: E-post maskert og uskarp med klikk for å vise/skjule, kopier-knapp, og paginering (standard 5 per side, valg 5–50).
  • Nightscout-innstillinger: Ny admin-side /nightscout/settings med faner for nettstedsinnstillinger og gratis kontoer (livstid eller begrenset tid).
  • Gratis kontoer: Nye brukere kan få gratis abonnement automatisk når aktivert; registrering og opprett instans respekterer innstillingene.
  • Profil økter: Paginering med gå-til-side på /profile?tab=sessions (standard 5 per side).

Glemt passord: lesbar lenke og brukernavn

  • Lenkekontrast: «Tilbake til innlogging» og tilsvarende lenker på glemt passord og tilbakestilling bruker nå synlig teal-farge på mørk bakgrunn.
  • Språkbytte: English | Norsk-lenker på glemt passord og tilbakestill passord (som innlogging og registrering).
  • E-post eller brukernavn: Glemt passord aksepterer ett felt (som innlogging); tilbakestillingslenke sendes til registrert e-post uten å avsløre om kontoen finnes.

Referat: protokoll fra samme møtedata

  • Protokoll-eksport: Kort protokoll (kun sak og vedtak) genereres automatisk fra referatet og kan eksporteres som CSV, Word, DOCX og PDF, inkludert via offentlig delingslenke.
  • Nye felt: Fravær og neste møte (dato, tid, sted) i skjema og protokoll-footer.
  • Ruter: /referat/print-protokoll/ID og /referat/print-public-protokoll med doc=protokoll på eksport-URLer.

Kalkulator: tabell med HbA1c-intervaller

  • Synlig referanse: HbA1c-fanen viser nå en tabell med DCCT %-intervaller og tilhørende betydning (samme sju bånd som i kalkulatoren), pluss en kort fotnote om nøyaktige terskler og hypo-varselet ved lav gjennomsnittsglukose.

HbA1c-estimator: klinisk klassifisering og hypoglykemi-varsel

  • Sju kliniske bånd: classifyA1c() bruker nå hypo (under 4,0%), ikke-diabetisk (4,0-5,7%), pre-diabetes (5,7-6,5%), mål nådd ved diabetes (6,5-7,0%), over målet (7,0-8,0%), høy (8,0-9,0%) og svært høy (over 9,0%). HbA1c rundt 3,7% blir ikke lenger feilklassifisert som «Mål nådd».
  • Nytt rødt hypo-kort: .calc-band-hypo har distinkt rød/rosa palett som skiller seg fra «svært høy»-kortet for å fremheve faresignal.
  • Glukose-hypo-varsel: Når gjennomsnittlig glukose er under 70 mg/dL (3,9 mmol/L), legges det til en synlig advarselsrad i resultatkortet (uavhengig av A1c-bånd).
  • Neste lab-prøve: suggestNextLabWeeks() returnerer 4 uker for hypo-bånd (rask oppfølging anbefales).
  • Etiketter: renderResult() slår nå opp bånd-etiketter via nøkler (result_band_hypo, _normal, _prediabetes, _target, _above_target, _high, _very_high) på norsk og engelsk.

Ny side: Diabetes Kalkulator (/calculator)

  • HbA1c-estimator: Estimer HbA1c (DCCT %), IFCC (mmol/mol), eAG og GMI fra gjennomsnittlig glukose. Manuell, Nightscout-uthenting (innlogget) eller CSV/JSON-opplasting (Dexcom Clarity, FreeStyle Libre, Nightscout entries.json).
  • Bolus-kalkulator: Beregn måltidsbolus (carbs / ICR), korreksjon ((nåværende - mål) / ISF), trekk fra IOB og avrund til pumpe-/penn-trinn (0,05 / 0,1 / 0,5 / 1 enhet).
  • Enhetsvelger: Gjenbruker enhetslisten fra /compare/ (BGM, CGM, FGM, insulinpumper og -penner).
  • Måleenhet: Bytt mellom mmol/L og mg/dL; standard er mmol/L (Norge). Lagres lokalt i nettleseren.
  • Nightscout-API: Nytt endepunkt /calculator/api/nightscout-pull (krever pålogging) henter aggregerte statistikker (gjennomsnitt, TIR 70-180 mg/dL) fra brukerens egen instans. api_secret eksponeres aldri.
  • Sidemeny: Ny lenke «Kalkulator» / «Calculator» under Sammenlign Enheter.
  • Ansvarsfraskrivelse: Verktøyet gir kun estimater. Bekreft alltid med behandler før du justerer behandling.

Innlogging og registrering

  • Logout: Logout omdirigerer nå til /login; gammel admin/login-side fjernet (kun omdirigering).
  • Språk på innlogging og 2FA: Engelsk | Norsk-bytt på innloggings- og tofaktorkort; 2FA-feilmelding oversatt.
  • Registrering: Kanonisk URL /register (som /login); nightscout/register omdirigerer til /register. Språkbytte på registreringssiden.
  • Skjema ved feil: Brukernavn og e-post beholdes ved valideringsfeil; kun passord tømmes.
  • Vis passord: Avkrysning for å vise/skjule passord på innlogging, registrering og tilbakestilling av passord.
  • Innlogging med sikkerhetsnøkkel: Knapp på innloggingssiden for passkey-først-innlogging (uten passord).
  • 2FA etter registrering: Etter Nightscout-registrering omdirigeres brukeren til Profil → 2FA med velkomstmelding og valgfri oppsett.

Profil og 2FA

  • Profil-side: Språkpreferanse lagres i DB, cookie og session; Profil-lenke over brukernavn i sidemenyen på alle sider. Nightscout-profil slått sammen i /profile (Konto, 2FA, Abonnement).
  • Profil-container og knapper: Synlig profil-kort; knappetekst sikret med $profileL (sidebar overskrev ikke lenger $L).
  • 2FA-fane: URL bruker tab=2fa (ikke mfa); omdirigering fra tab=mfa. QR-kode ved TOTP-oppsett.
  • Kontomerking: E-post og Discord kan kobles; innlogging med begge; 2FA gjelder begge. Sett passord for Discord-brukere; endre passord vises for alle med passord.
  • Innloggingshistorikk: Ny fane «Innloggingshistorikk» med enheter, IP, revoke per økt og «Logg ut alle andre økter».
  • Passord-fane: Egen Passord-fane; endre passord og sett passord flyttet dit. Krav: min 7 tegn, 1 stor bokstav, 1 spesialtegn, uten ÆØÅ (profil, reset, registrering).
  • 2FA-backup: «Last ned reservekoder»-knapp for å laste ned backup-koder som tekstfil.
  • Deaktivere 2FA: «Er du sikker?»-popup i stedet for å skrive DISABLE.

Sikkerhetsnøkler (WebAuthn / Windows Hello)

  • Attestasjonsformater: android-key, android-safetynet, apple, tpm og fido-u2f tillatt (Android/iPad/Windows Hello).
  • ByteBuffer: getBase64Url() erstattet med base64url-hjelper (lbuchs/webauthn v2).
  • API og sti: DIABETES_ROOT satt i profile.php og auth/webauthn.php; vendor-autoload lastes riktig. POST med JSON-body: action leses fra body (fikser invalid_action).
  • TPM-attestasjon: Raw ECDSA-signatur konvertert til DER; Microsoft TPM-rot-sertifikater lagt til (fikser «invalid certificate signature»).
  • Brukerfeilmeldinger: webauthn_unavailable og tekniske koder erstattet med «Sikkerhetsnøkkel er ikke lagt til eller ikke tilgjengelig»; avbrutt prompt viser «Du avbrøt…». Dynamisk melding viser faktisk PHP-versjon og manglende pakke.

Sammenlign enheter (Compare)

  • Sikkerhetskopi: Skript og full tar-sikkerhetskopi av diabetes.newstargeted.com til /home/backup (dato-stempel).
  • Diabetes-type: Filter og sammenligningsmodus: Type 1, Type 2, Type 1 vs Type 1, Type 2 vs Type 2, Type 1 vs Type 2. Enheter merket med diabetesType (T1/T2/Begge).
  • En-til-en sammenligning: «Velg for sammenligning» per enhet; side-ved-side spesifikasjonstabell for valgte enhet A og B.
  • Nye enheter: FreeStyle Lite (BGM), Medtronic Simplera (CGM), Beta Bionics iLet, Sequel twiist (pumper), Tandem Mobi, Omnipod 5, MiniMed 780G; oppdaterte beskrivelser for Dexcom G7, Libre 3, NovoPen 6, m.fl.
  • Fullsidig layout: Sammenligningsseksjonen bruker hele bredden (ingen stor tomrom til høyre).

Diverse

  • Sidemeny: «Logg inn»-knapp til /login (ikke bare Discord). Dice og Dice-statistikk oversatt til Lodd og Lodd-statistikk på norsk.
  • Favikon: favicon.ico lagt til i root; profil-sider inkluderer favicon-lenke.

Kjøreregning (Travel expenses)

  • Liste, opprett, rediger, vis: Full kjøreregningsflyt med egne rapporter per bruker.
  • Deling: Offentlig delingslenke (share token) for hver rapport.
  • Eksport: Excel (CSV) og PDF; lasting av rapport etter rapport-ID ved eksport.
  • Kvitteringer: Opplasting av kvitteringsbilder lagres under images/receipts/{bruker_id}/{rapport_id}/.
  • Logo: Egen logo-opplasting og visning i PDF-eksport.
  • Rader: Legg til og fjern ekspensrader i skjemaet.
  • Ruting: Ren URL-struktur under /travel-expenses/ (router, create, edit, view, export, share).

Referat (Møtereferat)

  • Liste, opprett, rediger, vis: Møtereferat med saker, vedtak og kontakt.
  • Deling: Offentlig delingslenke per referat.
  • Eksport: CSV (Excel), Word og PDF.
  • Layout: Referat-stil layout og styling (referat.css), skjema-JS (referat-form.js).
  • Ruting: Ren URL-struktur under /referat/ (router, create, edit, view, export, share, print).

Nettside og sikkerhet

  • Vedlikeholdsmodus: Sjekk på alle sider (maintenance-check) før utdata.
  • Autentisering: Discord-basert innlogging; beskyttede sider for kjøreregning og referat.
  • Sidemeny: Enhetlig meny med Kjøreregning og Referat i tillegg til Dashboard, Dice2 og Admin.
  • Språk: Norsk og engelsk (language-detection) på tvers av sider.

Lodd / Dice2 – Første endringslogg

  • Endringslogg: Ny endringslogg-side tilgjengelig fra sidemenyen.
  • Dice2: Enhetlig sidemeny med Dashboard, Dice2, Dice (klassisk), Sammenlign enheter og Admin.
  • Dashboard: Statistikk (siste 24t), trekninger og CSV-eksporter.
  • Eksport: CSV-eksport med tidsstempel, nummer, lotteri, farge og rekkevidde.
  • QR / Vipps: QR-visning i sidemeny med forstørrelse og størrelsestyring.
  • Forstå versjonsnumre: SemVer-seksjon med Major (rød), Minor (oransje) og Patch (grønn), inkludert ikonbadges (fa-exclamation-triangle, fa-plus-circle, fa-bug).
  • Versjonsbadge: Versjon 1.0.0 viser «Major» i stedet for «Ny», i tråd med SemVer.
  • Kopier lenke: Knapp (copy-link-btn) per versjon for å kopiere direkte lenke med hash til utklippstavlen.
  • Filtre: Filterbeholder (filters-container) med søk, versjonstype (Major/Minor/Patch), år, per side og «Tøm», samt «Viser X av Y versjoner».
  • Filterlogikk: Søk i tittel og innhold, filtrering på data-type og data-year, begrensning etter «per side», oppdatering av resultatantall.