Give DigitalOcean SKU trend series readable names with the SKU id as secondary text
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 75/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Start by reading InsightsSchema in src/lib/adapters/digitalocean/schemas.ts:103-115 and adding description/group_description to it, then follow skuSpendMetrics in src/lib/adapters/digitalocean/index.ts:504-536 where the Daily spend on SKU <id> label is built. Check src/lib/dashboard/trends.ts to see how seriesTitle becomes the chart title and where the accessible name is set, so the id can move to secondary text while staying unique. Mirror realistic descriptions in src/lib/adapters/simulated/digitalocean.ts, extend the adapter tests with the one/several/empty/long description cases, and update docs/providers/digitalocean.md:91 and :256. Done means a unit-tested naming rule plus before/after screenshots of the demo workspace.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
DigitalOcean's daily SKU trend charts are titled with the raw SKU id, for example "Daily spend on SKU 1-AP-PRO-0002 (DigitalOcean, USD)". Give each SKU series a readable name taken from DigitalOcean's own Billing Insights data, and show the SKU id as secondary text. Split out of #263 (decision B1 there), which leaves SKU titles unchanged.
Evidence
skuSpendMetrics(src/lib/adapters/digitalocean/index.ts:504-536) writes the labelDaily spend on SKU <id>(:528). The trend chart title is that label (seriesTitle,src/lib/dashboard/trends.ts).- A snapshot row has no field besides
labelthat could hold a name (usage_snapshotsinsrc/lib/supabase/database.types.ts). - The Billing Insights schema the adapter parses (
InsightsSchema,src/lib/adapters/digitalocean/schemas.ts:103-115) keeps onlyusage_team_urn,start_date,total_amount, andsku. - DigitalOcean's API also returns
descriptionandgroup_descriptionper data point (docs/providers/digitalocean.md:91);descriptionis the invoice item text, for exampledroplet name (c-2-4GiB)(docs/providers/digitalocean.md:256). One SKU billed for several resources has one data point, and one description, per resource. - Observed on the demo workspace (
ce44e95): five DigitalOcean SKU charts, all titled with ids (1-AP-PRO-0002,1-DB-PG-0003,1-DO-DROP-0109,1-DO-DROP-0112,1-SP-SUB-0001). After #263 they sit behind the DigitalOcean disclosure on the dashboard.
Scope
- Parse
description(andgroup_descriptionif it helps) inInsightsSchema. - Name each SKU series from its descriptions: the description when there is one, and a stated rule (for example "web-1 (s-1vcpu-1gb) and 2 more") when there are several.
- Carry the SKU id so the chart shows it as secondary text, not in the title.
- Update the simulator (
src/lib/adapters/simulated/digitalocean.ts) to send realistic descriptions,docs/providers/digitalocean.md, and the adapter tests. - Stored labels change on the next sync only; say so in the pull request, and do not rewrite stored rows.
Acceptance criteria
- A DigitalOcean SKU trend chart's title is a readable name from DigitalOcean data, with the SKU id shown as secondary text.
- Unit tests: one description, several descriptions for one SKU, an empty description, and a very long one.
- The accessible name of each SKU chart stays unique.
- Before and after screenshots of the opened DigitalOcean disclosure on the demo workspace.
Model: anthropic/claude-opus-5-5 | Reasoning effort: unknown
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 1
- Merge medio
- 6h 56m
- PR unite (30g)
- 136
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eddiejaoude/StackDash
-
area: docs documentation priority: P3 size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eddiejaoude/StackDash#462 ·
I maintainer di solito rispondono entro 1 giorno
-
area: web bug priority: P3 size: XS
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
eddiejaoude/StackDash#432 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: database bug priority: P3 size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eddiejaoude/StackDash#419 ·
I maintainer di solito rispondono entro 1 giorno
-
area: docs bug priority: P2 size: XS
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
eddiejaoude/StackDash#418 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility area: timeline bug priority: P3 size: XS
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
eddiejaoude/StackDash#389 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eddiejaoude/StackDash
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
open-webui/tether#52 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
voidzero-dev/void#835 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AykutSarac/jsoncrack.com#616 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
melgarafael/DeskcommCRM#4679 ·
I maintainer di solito rispondono entro 1 giorno