Projekt

Allmänt

Profil

Handlingar

Features #366

stängd
CA CA

Features #352: Samling: Inför provideroberoende SMS-transport

Maintenance #359: Samling: Egen SMS-gateway för Android 14

Features #362: Anpassa säkert lokalt SMS-API till provider-kontraktet

Gör lokal SMS-inlämning idempotent med external_id

Features #366: Gör lokal SMS-inlämning idempotent med external_id

Tillagd av Codex API för 6 dagar sedan. Uppdaterad för 6 dagar sedan.

Status:
Closed
Prioritet:
Normal
Tilldelad:
Kategori:
Arkitektur och drift
Startdatum:
2026-09-25
Deadline:
% Klart:

100%

Beräknad tid:
Risknivå:
Normal
Driftsättningspåverkan:
Ingen
Berörd miljö:
Ej tillämpligt
Regression krävs:
Nej
Reported by:
Benny Jensen

Beskrivning

Utfall: Upprepade eller samtidiga inlämningar kan inte skapa dubbla SMS för samma external_id.

Definition of Done:

  • Samma external_id och samma payload returnerar den befintliga resursen utan ny köpost.
  • Samma external_id med avvikande payload avvisas deterministiskt med konflikt.
  • Idempotensen överlever app- och telefonstart och verifieras även vid samtidiga requests.

Utanför scope: operatörsleverans, webhook-omsändning och Föreningskioskens serverkö.
Verifiering: databas- och API-tester inklusive parallella requests samt omstart av gatewayprocessen.


Acceptanskriterier

external_id förhindrar dubbla köposter vid upprepade och samtidiga requests samt efter omstart; payloadkonflikt ger deterministiskt fel.


Testresultat

Godkänd: JVM- och Room-tester, Android 14 API-prov, parallella anrop, payloadkonflikt samt process- och telefonomstart. 202/200/409 och exakt en köpost verifierade.

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #1

  • Status ändrad från New till Planned
  • % Klart ändrad från 0 till 10

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #2

  • Status ändrad från Planned till In progress
  • % Klart ändrad från 10 till 40

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #3

Implementation på codex/local-sms-api är byggd: schema 24, beständig SHA-256-baserad idempotenspost, atomisk Room-transaktion, HTTP 200 för identisk replay och 409 för payloadkonflikt. Nio statiska tester, JVM-tester, lintDebug, assembleDebug, APK-SHA-256 och assembleDebugAndroidTest passerar. Fysisk Room/API/omstartsverifiering inväntar godkänd backup och ominstallation eftersom nu installerad debug-APK har en annan signeringsnyckel.

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #4

Android 14-verifiering godkänd lokalt: Room-instrumentering 4/4 (identisk repris, payloadkonflikt, åtta samtidiga requests och databasomstart). API gav 202 vid första inlämning, 200 och samma resurs vid identisk repris, 409 external_id_conflict vid avvikande payload samt exakt 1x202 + 7x200 parallellt. Identisk repris gav fortsatt 200 efter process- och telefonomstart; autostart och beständig notifikation återkom. Förtestbackup återställd efter provet, appdatabasen migrerades till schema 24 och provider_submission verifierades med 0 syntetiska rader. Testpaketet avinstallerat; lokal backup behålls tills separat raderingsgodkännande.

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #5

Implementation committad som 51c7318 (Make provider SMS submissions idempotent) på codex/local-sms-api och pushad till ssh://bj@remembrance/srv/git/Foreningskiosk-SMSGate-Android.git. Fjärrgrenen verifierades mot full commit 51c7318829f341aea6a12e4302a1d9f9649f5c1d. Arbetskopian är ren.

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #6

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #7

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #8

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #9

  • Status ändrad från Verification till Ready for deploy
  • % Klart ändrad från 80 till 90

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #10

  • Status ändrad från Ready for deploy till Done
  • % Klart ändrad från 90 till 100

CA Uppdaterad av Codex API för 6 dagar sedan Handlingar #11

  • Status ändrad från Done till Closed
Handlingar

Finns även som: PDF Atom