Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ VERIFICATION_RESEND_COOLDOWN_SECONDS=60
# Same for the password reset email.
PASSWORD_RESET_COOLDOWN_SECONDS=60
# Duration of the session (and cookie) in hours.
SESSION_TTL_HOURS=24
SESSION_TTL_HOURS=168
# Name of the session cookie.
COOKIE_NAME=session_token
# Set to true in production behind HTTPS so the cookie is only sent over TLS.
Expand Down
2 changes: 1 addition & 1 deletion docs/usuaris_autenticacio.md
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ La cookie de sessió que estableix el login té els atributs següents:

- `HttpOnly` — inaccessible des de JavaScript, mitiga l'exfiltració via XSS.
- `SameSite` — configurable amb `cookie_samesite` (`lax` per defecte).
- `max_age` — `session_ttl_hours × 3600`; a `.env.example` són 24 h.
- `max_age` — `session_ttl_hours × 3600`; a `.env.example` són 168 h (7 dies).
- `Secure` — depèn de `cookie_secure`; a `.env.example` és `false` per a HTTP local.

> ⚠️ **Producció:** cal establir `cookie_secure=true` perquè la cookie només viatgi per HTTPS.
Expand Down
4 changes: 3 additions & 1 deletion frontend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ Els usuaris sense acreditar accedeixen a `/qualification`: un sol formulari de
deu preguntes amb tres opcions, dues per categoria i dues generals. Després de
lliurar-lo, el formulari se substitueix pel total d'encerts i l'estat de superació,
sense correccions ni desglossament per categoria. Permet repetir els intents
fallits i començar a avaluar quan se supera.
fallits i començar a avaluar quan se supera. Si no se supera, també ofereix
col·laborar a [GarbellaVeus](https://garbellaveus.softcatala.org/), escoltant
fragments d'àudio en català i valorant les transcripcions.
Les preguntes i el llindar provenen del backend; l'acreditació queda desada a
`users.qualified_at` i evita repetir la prova en sessions posteriors.

Expand Down
12 changes: 12 additions & 0 deletions frontend/src/components/QualificationView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,18 @@ export default function QualificationView({
<p className="mt-1 mb-4">
{result.score} encerts de {result.total}. Calen {result.min_correct} encerts.
</p>
{!result.passed && (
<p className="mb-4">
També podeu col·laborar amb Softcatalà en altres projectes que requereixen menys
coneixements lingüístics, com ara{" "}
<a href="https://garbellaveus.softcatala.org/" className="text-brand-700 underline">
GarbellaVeus
</a>
. Hi escolteu fragments curts d’àudio en català i valoreu si les transcripcions
reflecteixen el que s’hi diu. Les vostres valoracions ajuden a millorar la qualitat
de les dades per als sistemes de reconeixement de veu en català.
</p>
)}
<button
type="button"
disabled={busy}
Expand Down
Loading