mirror of
git://f0xx.org/android_cast
synced 2026-07-29 05:17:39 +03:00
Attach url-shortener as git submodule (androidcast_project).
Standalone repo: git://f0xx.org/androidcast_project/url-shortener on branch main. Removes vendored tree; adds backend/README.md and agent bootstrap note. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -79,7 +79,7 @@ Questions from draft §“TBD and open questions list” and inline `TBD` marker
|
||||
| Q4 | Java hash vs SHA-256 | **SHA-256** (see [§4](#4-slug-algorithm)). Java hash is 32-bit, non-cryptographic, JVM-stable but poor for URL slugs. |
|
||||
| Q5 | Interleaved URL+TOKEN string | **Rejected** for production. Deterministic `SHA256(bearer_id ‖ normalized_url)` instead. Draft interleave kept as historical note only. |
|
||||
| Q6 | Authentication: “app-wide shared session, project-wise token” | **Split roles:** `curl`/services → **project bearer token**; console operators → **shared `ac_crash_sess`** to create/revoke tokens (same RBAC as crashes/tickets). Shorten API does **not** accept PHP session cookies. |
|
||||
| Q7 | Submodule remote “available soon” | **Done** — `git://f0xx.org/androicast_project/url-shortener`; monorepo scaffold at `backend/url-shortener/`. |
|
||||
| Q7 | Submodule remote | **Done** — `git://f0xx.org/androidcast_project/url-shortener`; pinned at `backend/url-shortener/` submodule (`main`). |
|
||||
| Q8 | OTA-style “invalid URL” on unrelated services | N/A here; shorten service validates URL scheme/host and returns `INVALID_URL`. |
|
||||
| Q9 | Step 9.1.1 / 9.1.2 trusted sub-capabilities | `can_temporary` on bearer; `can_permanent` on bearer **and** valid signer required for `ttl=0`. |
|
||||
| Q10 | Cached hit when TTL “exceeds given limits” | If stored link **expired** → error `TTL_EXPIRED`, not silent renew. If valid → return same slug with **remaining** `ttl` in response (draft step 8). |
|
||||
@@ -192,7 +192,7 @@ Internet → FE (s.f0xx.org TLS) → proxy_pass BE :80 → url-shortener php-fpm
|
||||
| FE TLS cert | PO / infra | **Done** — `/etc/letsencrypt/live/s.f0xx.org/` |
|
||||
| FE nginx `server_name s.f0xx.org` | DEV | [nginx.fe-s.f0xx.org.snippet](../../backend/url-shortener/deploy/nginx.fe-s.f0xx.org.snippet) |
|
||||
| BE vhost fragment | DEV | [nginx.be-url-shortener.fragment](../../backend/url-shortener/deploy/nginx.be-url-shortener.fragment) |
|
||||
| Git remote | PO | **Done** — `git://f0xx.org/androicast_project/url-shortener` |
|
||||
| Git remote | PO | **Done** — `git://f0xx.org/androidcast_project/url-shortener` |
|
||||
| Licenses | DEV | Add QR library to BE license inventory when impl starts |
|
||||
|
||||
**Safe deploy:** nginx fragment only; no topology changes to router/FE↔BE path. Validate with `nginx -t` before reload.
|
||||
@@ -343,7 +343,7 @@ Requires PO / infra input (hard blockers for **prod** only):
|
||||
|
||||
| ID | Item | Owner | Status |
|
||||
|----|------|-------|--------|
|
||||
| O1 | Git remote `git://f0xx.org/androicast_project/url-shortener` | PO | **Done** |
|
||||
| O1 | Git remote `git://f0xx.org/androidcast_project/url-shortener` | PO | **Done** |
|
||||
| O2 | DNS + TLS for `s.f0xx.org` on FE | PO / infra | **Done** |
|
||||
| O3 | BE docroot `/var/www/localhost/htdocs/apps/s/` | DEV + PO | **Default in SPEC**; confirm on first sync |
|
||||
| O4 | Approve QR library license addition | PO | Open (before QR impl) |
|
||||
|
||||
Reference in New Issue
Block a user