# Fix timezone, locale, and encoding defects surfaced by support

The class of bug that only appears for users in another timezone or another alphabet.

Category: Bug backlog and defect hunting
Source: https://letsship.ai/use-cases/fix-timezone-locale-and-encoding-defects
Published: 2026-08-25

## Goal

Fix the timezone, locale, or encoding defects support has reported.

## Acceptance criteria

- Table-driven tests cover the affected locales and timezones
- Dates are stored and compared in a single canonical form
- User-facing formatting respects the user's locale rather than the server's
- Tests run against a non-default timezone in the pipeline

## What lands as proof

A test table across locales and offsets, run in the pipeline under a non-default timezone.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Fix the {kind} handling defects

Description: Fix the timezone, locale, or encoding defects support has reported.

Acceptance criteria:
- Table-driven tests cover the affected locales and timezones
- Dates are stored and compared in a single canonical form
- User-facing formatting respects the user's locale rather than the server's
- Tests run against a non-default timezone in the pipeline

Before you create the issue, check which locales and timezones this repository's users actually span and replace {kind} with the specific failure support reported.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: fix the timezone, locale, or encoding defects support has reported. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means table-driven tests across the affected locales, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
