Commit graph

1231 commits

Author SHA1 Message Date
SkateSpots
e00a382c36 chore: slim repo assets and refresh README
- Drop tracked Android build intermediates (already gitignored; regenerated by Gradle).
- Remove unused sticker-design.png; recompress logo, cover and guide images.
- Replace the stale README with a concise current project guide.
2026-10-28 13:35:24 +07:00
SkateSpots
8d4889e2a4 docs: record 1.7.13 image/crew query optimizations 2026-10-28 13:22:31 +07:00
SkateSpots
72d9cd795b release: 1.7.13 2026-10-28 13:14:29 +07:00
SkateSpots
075aea7f44 perf: lazy content images and targeted crew member queries 2026-10-28 13:11:10 +07:00
SkateSpots
11c440b5ac docs: record 1.7.12 lazy notification bell 2026-10-28 13:07:24 +07:00
SkateSpots
e75a50c18f release: 1.7.12 2026-10-28 13:01:35 +07:00
SkateSpots
7bbe73e903 perf: code-split and defer the notification bell 2026-10-28 12:58:14 +07:00
SkateSpots
7040a90630 docs: record 1.7.11 load/replay optimizations 2026-10-28 12:51:21 +07:00
SkateSpots
c903a510e3 release: 1.7.11 2026-10-28 12:47:39 +07:00
SkateSpots
e94c16a479 perf: batch profiles, gate map layers, warm public cache 2026-10-28 12:42:39 +07:00
SkateSpots
cdeedefb74 docs: record 1.7.10 map footer, Cordn controls/push, matrix 2026-10-28 11:15:21 +07:00
SkateSpots
775d1f9956 release: 1.7.10 2026-10-28 11:06:22 +07:00
SkateSpots
66fc47cc28 feat: restore map footer, inline crew roles, Cordn reactions/push
- Keep the map footer links permanently visible; remove the hide toggle.
- Publish inline founder promote/demote from the member row.
- Add encrypted MLS reaction/delete/read control messages and UI.
- Add the minute Cordn join watcher: NIP-17 DMs + encrypted bell notices.
- Add the browser translation-matrix runner and a low-end performance finding.
2026-10-28 11:02:47 +07:00
SkateSpots
d230f02328 docs: note the weekly newsletter admin DM 2026-10-28 09:55:34 +07:00
SkateSpots
ba92eea71b chore(newsletter): DM admins when a weekly draft is ready 2026-10-28 09:54:43 +07:00
SkateSpots
b8629879e0 docs: document the weekly newsletter draft and 1.7.9 2026-10-28 09:51:53 +07:00
SkateSpots
13f138222d docs: record 1.7.9 newsletter automation 2026-10-28 09:50:36 +07:00
SkateSpots
d33f65e68b release: 1.7.9 2026-10-28 09:46:23 +07:00
SkateSpots
f029b5a516 feat(newsletter): weekly generated drafts, covers, and admin preview
- Add a browser-safe editorial generator with rotating satire and shipped highlights.
- Generate a fresh 1200x630 cover from the Drop #006 foundation and upload it to Blossom.
- Publish weekly drafts as NIP-78; add the admin Load draft/Preview composer flow and banner.
- Add the Monday user timer (draft by default) and a manual newsletter:weekly script.
- Remove static/live issue duplicates; translate the new admin strings to all 24 locales.
2026-10-28 09:42:44 +07:00
SkateSpots
dfff2a8c40 docs: record 1.7.8 device/member/dependency work 2026-10-28 09:22:05 +07:00
SkateSpots
b32bd69e4c release: 1.7.8 2026-10-28 09:16:40 +07:00
SkateSpots
630780753f feat(cordn): device QR, member removal, message reply; patch deps 2026-10-28 09:14:03 +07:00
SkateSpots
ec5e63663b docs: record 1.7.7 Cordn unread/pending-join work 2026-10-28 08:45:30 +07:00
SkateSpots
eb63248890 release: 1.7.7 2026-10-28 08:41:46 +07:00
SkateSpots
7da67cc2c0 feat(cordn): unread and join-request badges; persist pending joins 2026-10-28 08:39:01 +07:00
SkateSpots
2cec2b4782 docs: record 1.7.6 auth/security audit tail 2026-10-28 00:12:20 +07:00
SkateSpots
30118de0ce release: 1.7.6 2026-10-28 00:08:13 +07:00
SkateSpots
13ebea685e fix(auth): keep signup alive across page cards; sanitize trip links 2026-10-28 00:05:28 +07:00
SkateSpots
e267b79281 feat(web): add short /community and /c links 2026-10-27 21:00:39 +07:00
SkateSpots
84efaba001 docs: record 1.7.5 auth/menu transition fix 2026-10-27 20:54:40 +07:00
SkateSpots
ed88efcf04 release: 1.7.5 2026-10-27 20:50:53 +07:00
SkateSpots
639afd8550 fix(auth): open sign-in above menus and close the burger first 2026-10-27 20:48:04 +07:00
SkateSpots
7abeb2d030 docs: record 1.7.4 community room and bot 2026-10-27 17:43:33 +07:00
SkateSpots
269c484cd8 release: 1.7.4 2026-10-27 17:39:21 +07:00
SkateSpots
2ec861befd feat(community): add the app-wide Cordn room and always-on bot 2026-10-27 17:37:09 +07:00
SkateSpots
27f3434475 feat(cordn): expose and copy the Cordn group share link 2026-10-27 17:02:43 +07:00
SkateSpots
74249e304e fix(menus): move language into its own mobile view; fit crew tabs 2026-10-27 17:00:19 +07:00
SkateSpots
5ac9e67860 fix(cordn): keep the invite poll alive across re-renders 2026-10-27 16:43:49 +07:00
SkateSpots
7a7b1c4950 docs: record Basque tokenizer fix and Cordn UX polish 2026-10-27 16:42:47 +07:00
SkateSpots
4009dd3a72 release: 1.7.3 2026-10-27 16:40:54 +07:00
SkateSpots
7881bbc50f fix(cordn): share public invite URL from the native app 2026-10-27 16:38:33 +07:00
SkateSpots
ac5ac85004 release: 1.7.2 2026-10-27 16:36:29 +07:00
SkateSpots
8a5ac47a19 fix(translation): repair Basque tokenizer IDs and evict stale cache 2026-10-27 16:32:29 +07:00
SkateSpots
690c9c93bd feat(cordn): polish private chat onboarding, polling and invites 2026-10-27 16:22:25 +07:00
SkateSpots
1fc91d1192 fix(sasquatch): reply in all 24 locales; record translation/Basque state
- Sasquatch UI/guide/FAQ were already 100% in all 24 locales; the AI reply
  language directive only covered es/th/ja. SASQUATCH_LANGUAGES now maps all 24
  app languages (trick names/core vocabulary stay English).
- Document the Sasquatch privacy difference: its AI calls the CVM/AI proxy
  (OpenRouter), unlike the on-device translation.
- Record the Basque status: IR 9->8 and target-side tokenizer fixed; model now
  emits Basque but loops on EOS/generation; remaining gap before 1.7.2.
2026-10-27 16:06:50 +07:00
SkateSpots
e85b9aacb6 feat(chat): all-language on-device translation (M2M100 + Basque Opus)
- M2M100 418M (MIT, 617 MB q8) covers 23 app languages; Basque uses converted
  Opus eu-en/en-eu q8 packs; all self-hosted under relay.skate-spots.org/models.
- Worker uses M2M100 directly and pivots Basque through English; UI targets all
  languages; old pilot restriction/note removed; memory-only + guard unchanged.
- Verified en<->es, ca<->gl, hi<->en from the host. Basque packs are converted
  and hosted; the final MarianTokenizer/ONNX runtime check is still pending.
- 138 tests, 24 locales, build and smoke green. SpotChat deliberately skipped.
2026-10-27 13:06:04 +07:00
SkateSpots
67bc89861d fix(chat): clear translation memory + worker on logout
Translations are memory-only; on logout/account switch we now clear the cache,
reject pending requests and terminate the worker (the model itself is public
and stays in the browser cache).
2026-10-27 10:52:01 +07:00
SkateSpots
d2a24679f0 feat(chat): on-device translation pilot (English ↔ Spanish)
- @xenova/transformers 2.17.2 in a Web Worker; Opus-MT en↔es ONNX q8 packs
  self-hosted on the relay VPS (/models + CORS); ONNX Runtime 1.14 WASM
  self-hosted in public/ort/ (37MB) loaded from ../ort/.
- Hard network guard: only model GET/HEAD (no query) and /ort/ assets allowed.
  Message text travels only via postMessage; 9 tests prove fetch is never called
  with the text and every other request is blocked.
- TranslateMessage in DMs + crew chat; Settings auto-translate off by default;
  memory-only translations; per-model download progress; 12 UI strings in all
  24 locales.
- Both model directions verified from the hosted files; tsc, 138 tests, build
  and smoke green.
2026-10-27 10:49:54 +07:00
SkateSpots
8c7de4d86d feat(chat): on-device language detector (translation Phase 1)
- tinyld (MIT, lazy, local) + script rules + a weighted
  Catalan/Galician/Basque/Spanish/Portuguese rule for the close/short cases
  tinyld confuses. No network, no logs, no storage; conversation/contact prior
  supported.
- Lingua with 24 languages produced a 99 MB WASM, so it was rejected as a
  detector; tinyld + the gl rule covers all 24 at a fraction of the size.
- 28/28 language samples pass, including a test that fetch is never called.
- Phase 2: on-device Opus-MT (English pivot) in a worker, memory-only
  translations, model packs on Blossom, sentinel/network-guard test.
2026-10-27 10:30:50 +07:00
SkateSpots
bf28519e9e feat(ops): push-marked admin alerts, scan-change DMs, deploy/health alerts
- NIP-17 wraps now carry the app's ['skatespots','push'] marker on every admin
  copy (including the sender), so the push service wakes the phone with the app
  closed. Push test wraps 39fbbd4e…/c88c9f55… verified on the community relay.
- The weekly scan-only job DMs only when the OSV summary changes; unchanged
  scans are logged, not messaged.
- auto-deploy alerts on Netlify failure and on a post-deploy production URL
  health-check failure; deploy-failed/health-failed appear in ops-health and
  the daily report.
2026-10-27 09:52:37 +07:00