7 Commits
Author SHA1 Message Date
ciregenz 311f195585 [eric] electron: split installer filename attribution out of affiliateTracking (300-line cap) 2026-07-12 18:46:25 -07:00
ciregenz 91a603ce96 [eric] conventions: strip em-dashes from app runtime contract; de-prefix cross-file affiliate exports 2026-07-12 18:39:18 -07:00
abccodes fb89324462 [aidan] chore/affiliate-attribution: align private names and trim comments 2026-07-10 19:31:35 -07:00
abccodes 1e1d0d3c60 [aidan] fix/affiliate-scan: tolerate future mtimes + cover win32 and all artifact shapes
The Downloads scan rejected any file whose mtime was newer than the scan's
Date.now() snapshot (sub-ms fs timestamps, NTP stepping the clock back), and
the ambiguity test was green only because both fixtures were skipped by that
guard. Allow 60s of future skew, add a win32 end-to-end bind test, and cover
every stamped artifact name (mac arm64/x64 dmg, windows setup exe, linux
AppImages) plus unstamped negatives in the parser test.
2026-07-10 18:51:04 -07:00
abccodes c7004c9878 [aidan] feat/affiliate-ids: unify install identity across electron and python backend
Electron resolves ONE install id before spawning the backend (install.json
app_install_id -> python settings installation_id -> fresh uuid) and exports
it as OPENSWARM_INSTALLATION_ID; the backend adopts it when settings has no
installation_id yet. The affiliate app_install_id and the analytics
install_id are now the same value, so affiliate refs join directly to
telemetry with no sign-in required. Drops the frontend app_install_id
forwarding through sign-in flows; the desktop auth router forwards
settings.installation_id as install_id instead.
2026-07-10 18:09:26 -07:00
abccodes ac2f8e31b6 [aidan] feat/affiliate-filenames: bind installs from stamped filenames 2026-07-10 03:01:32 -07:00
ciregenz 1455ccef11 [eric] desktop carries a tag now 2026-05-14 11:55:48 -07:00