1
0
mirror of git://f0xx.org/ac/ac-docs synced 2026-07-29 04:39:12 +03:00
Files
ac-docs/TICKETS_ROADMAP.md
Anton Afanasyeu 69a448f156 initial
2026-06-23 12:20:43 +02:00

144 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tickets, Gitea, and alpha smoke delegation
<!-- doc-meta:start -->
| Field | Value |
|---|---|
| Author | Anton Afanasyeu |
| Revision | R1 |
| Creation date | 2026-05-26 |
| Last modification date | 2026-05-26 |
| Co-authored | |
| Severity | medium |
| State | in progress |
| Document type | technical |
<!-- doc-meta:end -->
\newpage
\newpage
---
---
---
---
---
## Table of contents
<!-- toc -->
- [Gitea (/app/androidcast_project/git/)](#gitea-appandroidcastprojectgit)
- [Alpha smoke tickets (typical DB id → block)](#alpha-smoke-tickets-typical-db-id-block)
- [Console features (implementation)](#console-features-implementation)
- [Attachments (deploy)](#attachments-deploy)
- [Google Workspace — phase 2 (not implemented)](#google-workspace-phase-2-not-implemented)
- [Agent / engineering queue (from your list)](#agent-engineering-queue-from-your-list)
- [Open tasks dependency graph](#open-tasks-dependency-graph)
<!-- /toc -->
**Documentation index:** [README.md](README.md)
---
## Gitea (`/app/androidcast_project/git/`)
Public URL should return Gitea HTML (assets under `/app/androidcast_project/git/assets/…`).
**If clone/push fails while the page loads:**
1. **Clone URL** must include the subpath, e.g.
`https://apps.f0xx.org/app/androidcast_project/git/<owner>/<repo>.git`
2. **Gitea `app.ini`** on BE (`:3000`):
`ROOT_URL = https://apps.f0xx.org/app/androidcast_project/git/`
`DOMAIN = apps.f0xx.org`
3. **FE** `nginx.conf` ~983996: `proxy_pass http://artc0.intra.raptor.org:3000/;` only works if Gitea is configured for that subpath (your HTML manifest suggests it is).
4. **BE**: Gitea must listen on `10.7.16.128:3000` (or `0.0.0.0:3000`); no extra nginx required unless you proxy git through `:80` too.
Symptom checklist: 502 → Gitea down; broken CSS → `ROOT_URL` wrong; 401 on push → credentials / token; 404 on clone → remote path missing subpath.
---
## Alpha smoke tickets (typical DB id → block)
Ingest order from `tmp/alpha_smoke_round1.txt` (skips pure “pass” rows):
| id (typical) | Block | Theme | Delegation |
|--------------|-------|--------|------------|
| 1 | A3 | PIN/cast OK; **rotation + preview NOK** | App: sender preview / rotation crash |
| 2 | A4 | Video OK; **frame drops, low res, few TX losses** | App: UDP/encoder quality; monitor NDK only if native crashes appear |
| 3 | A5 | Audio works; **laggy sound** | App: AAC pipeline / jitter buffer |
| 4 | A6 | Notification resolution | Often lower priority (pass with notes) |
| 5 | A7 | Stop OK; **wrong lifecycle** (resume, notifications) | App: `CastForegroundService`, notification intents, task stack |
| 6 | A9 | Repeat soak; **lifecycle** again | Same as #5 |
| 7 | (manual) | **Delegation / process** | Console: assignees, workflow, comments (this doc) |
Confirm ids in UI (title contains `Alpha smoke A3` etc.).
---
## Console features (implementation)
| Feature | Status |
|---------|--------|
| Workflow state (`triage``in_progress``blocked` / `wont_fix``done`) | Migration `004` + UI |
| Assignees (0..n users, chip picker) | `assignees_json` + API |
| Comments (thread on ticket) | `ticket_comments` + API |
| Email notify reporter | Nice-to-have later |
| **Attachments** (files + links) | Migration `005` + ticket UI |
| **Google Suite** (OAuth, embed, Chat/Meet hooks) | Phase 2 — see below |
### Attachments (deploy)
```bash
mysql -u root -p androidcast_crashes < examples/crash_reporter/backend/sql/migrations/005_ticket_attachments.sql
chown -R www-data:www-data examples/crash_reporter/backend/storage
```
- **Links:** paste HTTPS URL; Google hosts auto-tagged (Docs, Sheets, Slides, Drive, Meet, Chat, Forms).
- **Files:** stored under `backend/storage/ticket_attachments/{ticket_id}/`, download via `/api/ticket_attachment.php?id=…`.
### Google Workspace — phase 2 (not implemented)
Requires Google Cloud project, OAuth consent, service account or user OAuth:
| Product | Integration idea |
|---------|------------------|
| Docs / Sheets / Slides | Picker API → attach link + optional embed iframe |
| Drive | File picker + shared-drive ACL |
| Meet | Attach recording link after call |
| Chat | Webhook or Chat API for ticket updates |
| Gmail | Optional notify assignees |
Until then, **paste share links** — the console labels them and opens in a new tab.
**Deploy migration (MariaDB, as root):**
```bash
mysql -u root -p androidcast_crashes < examples/crash_reporter/backend/sql/migrations/004_ticket_workflow.sql
```
---
## Agent / engineering queue (from your list)
1. **#1 (A3 NOK)** — Reproduce rotation + preview crash; separate from PIN path.
2. **#5 / #7 / #6 (lifecycle)** — Audit cold start, recents, notification tap, stop/receive; align with alpha A7/A9.
3. **#3 (laggy audio)** — Measure end-to-end latency sender → receiver; tune buffer / sync.
4. **#2 (TX losses)** — Log UDP gaps; recovery already OK — reduce loss if easy win.
5. **NDK** — Only if crash console shows native reports for these sessions.
Use ticket **comments** for findings; set **workflow** + **assignees** when you hand off.
---
## Open tasks dependency graph
**Master plan:** [20260608_ALPHA_PRIORITIES.md](20260608_ALPHA_PRIORITIES.md)
**Diagram:** [OPEN_TASKS_GRAPH.md](OPEN_TASKS_GRAPH.md)
**Dev DNS help:** [tmp/20260608_help_request.md](../tmp/20260608_help_request.md)