Three sortir-era references missed in the prior cleanup commits, plus
one stale "activities" doc-comment:
- Line 6 (VITE_APP_NAME comment): cfaun ships the events app as "Sortir"
→ "Bouge". Native-French feedback retired the Sortir branding.
- Line 23 (VITE_LNBITS_NOSTR_TRANSPORT_PUBKEY comment): "activities
ticket scanner" → "events ticket scanner".
- Line 44 (section header): "Activities / Sortir Configuration" →
"Events App Configuration".
- Line 93 (VITE_HUB_EVENTS_URL example): https://sortir.example.com
→ https://events.example.com (the comment is the subdomain-mode
example; using the generic app name is cleaner than baking in any
specific deployment's brand).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
User did the noun rename in fr.ts and es.ts; this commits it plus the
gender-agreement fixes needed because événement (m) and evento (m) take
different agreements than activité (f) and actividad (f).
French (fr.ts):
- "Aucune activité trouvée" → "Aucun événement trouvé"
- "vos activités préférées" → "vos événements préférés"
- "d'une activité ... pour la sauvegarder" → "d'un événement ... pour
le sauvegarder"
Spanish (es.ts):
- "tus actividades favoritas" → "tus eventos favoritos"
- "cualquier actividad ... para guardarla" → "cualquier evento ... para
guardarlo"
Strings already covered in earlier commits (title, createNew, noEvents,
the settings.loginPrompt full-replace, etc.) untouched here.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
In the standalone events app:
- Add `APP_LABEL` next to `APP_NAME` in `events-app/app.ts`. It reads
as `Events` on unbranded builds and `Events (Bouge)` (etc.) when
`VITE_APP_NAME` is set to anything other than "Events"
(case-insensitive). The four console messages (Starting / initialized
/ started / Failed to start) all use APP_LABEL, so unbranded dev
doesn't show the redundant `Events (Events)`. `acceptTokenFromUrl`
keeps the raw `APP_NAME` — it's a cross-subdomain token namespace
identifier, not display copy.
- `vite.events.config.ts` doc-comment: collapse the redundant
"cfaun sets X; future deployments can override (e.g. X)" into the
shorter "cfaun overrides to 'Bouge' via NixOS. Defaults to 'Events'."
The override mechanism is the same, and the example was duplicating
the value pointlessly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cleanup pass caught by review after the main rename landed. None of
these were live code paths — all were doc-comments, example configs,
or build-script labels.
- nginx.conf.example: path-mode example URLs `/activities/` → `/events/`,
alias `dist-activities` → `dist-events`, the "Sortir / activities
standalone" parenthetical dropped, and the subdomain example
`sortir.<domain>` → `events.<domain>`.
- package.json: `dev:all` concurrently process label `sortir` → `events`
and `build:demo` `VITE_BASE_PATH=/sortir/` → `/events/`. The build
script call already used `npm run build:events`; this just aligns the
path prefix and the process tag.
- src/lib/router-helpers.ts: the standalones-list comment for
`installLenientAuthGuard` updated `activities` → `events`.
- src/modules/market/composables/useMarket.ts: the VITE_APP_NAME
example in the comment switched from "Sortir" to "Bouge" — matching
the deployment direction in vite.events.config.ts.
- vite.events.config.ts: VITE_BASE_PATH doc-comment examples switched
from `/sortir/` and `sortir.ariege.io` to `/events/` and
`bouge.ariege.io`; the cfaun branding example now says "Bouge".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PWA manifest description and HTML meta description were templating
the brand name in ("Discover Bouge near you" / "Discover Sortir near
you"), which conflates app-name with domain noun. The description
should say what the app does, not repeat the brand.
Switches to static "Discover events near you" so the description
remains stable across deployments while the title and short_name still
flex per VITE_APP_NAME.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The description template was `Discover ${APP_NAME.toLowerCase()} near
you`, producing "Discover bouge near you" / "Discover events near you"
— inconsistent with the title casing. The brand should match the
PWA name/short_name, not be lowercased.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Updates documentation that referenced the pre-rename `src/modules/
activities/` paths, useActivities composables, and ACTIVITIES_*
SERVICE_TOKENS to match the new `src/modules/events/` layout.
Touched:
- docs/nostr-patterns/{README,publishing,subscriptions,replaceable-events}.md:
the "Canonical: src/modules/activities/composables/useRSVP.ts" anchors
used throughout these pattern docs now point at the renamed paths.
- CLAUDE.md Payment Rails Pattern section: "Activities is the first
consumer" / "Activities passes [...]" → "Events".
The mobile-browser docs reference to "Activity Lifecycle Kills" (line
810) is left alone — that's Android browser terminology, not the
events module.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The standalone events app was hardcoded to "Sortir" branding (PWA name
"Sortir — Activités & Événements", HTML title, console logs, URL token
handler ID). VITE_APP_NAME was already plumbed per-standalone via NixOS
`services.webapp-standalones.<app>.displayName` in server-deploy, but
nothing inside the app consumed it.
Routes the env through every app-name display point:
- PWA manifest `name` / `short_name` (vite.events.config.ts): both pull
from `process.env.VITE_APP_NAME`, defaulting to `'Events'` when
unset. Description, `id`, and `lang` un-frenched to brand-agnostic
defaults. The Vite config also writes the resolved value back to
`process.env` so Vite's built-in HTML `%VITE_APP_NAME%` substitution
picks up the fallback.
- HTML title + apple-mobile-web-app-title + description (events.html):
use `%VITE_APP_NAME%` for build-time substitution. `<html lang>` drops
the hardcoded `fr` (locale is now runtime-driven via i18n).
- Runtime branding (events-app/app.ts, main.ts): a top-level
`APP_NAME = (import.meta.env.VITE_APP_NAME as string) || 'Events'`
feeds the console logs, the offline-ready notification, and the
`acceptTokenFromUrl()` cross-subdomain handler.
- Main events route title (modules/events/index.ts:32): reads
VITE_APP_NAME so document.title / breadcrumbs show the deployment
brand. Sub-route titles (Calendar, Map, Favorites) stay literal —
they're contextual labels, not the app name.
- .env.example now explains the per-standalone scoping and points at
the NixOS knob for production deploys.
Domain-noun strings ("Search events…", RSVP labels, "Your event was
created") stay in i18n and translate per language — VITE_APP_NAME does
not flow into those.
Verification: `pnpm dev:events` → default `Events` brand;
`VITE_APP_NAME=Bouge pnpm dev:events` → PWA manifest, tab title, console
logs all show "Bouge". cfaun's existing `displayName = "Sortir"` keeps
producing a Sortir-branded build via the same path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The module name "activities" was originally chosen to avoid colliding
with Nostr's `Event` type. In practice the defense added friction without
preventing confusion: the backend extension is named `events`, NIP-52
calls them "Calendar Events", and the UI already displayed "Events".
The collision with `nostr-tools` `Event` is handled cleanly by the
existing `import { Event as NostrEvent }` alias pattern (already in 5
files inside the module).
Renames `src/modules/activities` → `src/modules/events` and
`src/activities-app` → `src/events-app`. Touches:
- Module dir + 48 internal files (types, services, composables, views,
components, store) renamed with case-sensitive replacement
(`Activity`→`Event`, `Activities`→`Events`).
- Route paths: `/activities/*` → `/events/*`. The existing legacy
`/events` route (ticketing management view) moves to `/my-events`,
freeing `/events` for the canonical feed/discovery page. A new
"My Events" entry is added to the user dropdown menu for access.
- Standalone PWA entry: `activities.html` → `events.html`,
`vite.activities.config.ts` → `vite.events.config.ts`.
- npm scripts: `dev:activities`/`build:activities`/`preview:activities`
→ `:events`. `build:demo` and `dev:all` updated accordingly.
- DI tokens: `SERVICE_TOKENS.ACTIVITIES_*` → `EVENTS_*`.
- Hub config: `appConfig.modules.activities` → `modules.events`.
- i18n: `activities.*` namespace → `events.*` in en/fr/es locales;
English domain strings updated ("Activities"→"Events", "Search
activities..."→"Search events..."). French/Spanish display values
realigned to "Événements"/"Eventos" at the title key; deeper
translation cleanup left for a follow-up.
- Hub icon label: "Activities" → "Events"; env key
`VITE_HUB_ACTIVITIES_URL` → `VITE_HUB_EVENTS_URL` (also updated in
`.env.example`).
- Stale `CreateActivityDialog.vue` removed (only referenced from a
defunct comment; `CreateEventDialog.vue` is the live one).
Build-output dir renamed `dist-activities/` → `dist-events/`; the
`build:events` npm script reflects the new name. server-deploy still
hardcodes `buildScript = "build:activities"` and `distDir =
"dist-activities"` in `modules/services/standalones.nix:46-47`; a
matching update there needs to land before this branch's webapp commit
gets a flake-input bump.
`Event` naming inside the module no longer collides with the Nostr
`Event` import — those 5 files already use the `NostrEvent` alias.
Disambiguation inside `EventsNostrService.queryCalendarEvents` was
needed: local `events`/`event` variables for the domain side, with
`nostrEvent`/`nostrEvents` for the protocol side.
vue-tsc passes. PWA manifest still hardcodes "Sortir" branding; that
is templated through `VITE_APP_NAME` in a follow-up commit on the
same branch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>