Commit Graph

12 Commits

Author SHA1 Message Date
saravanakumardb1
2fd49bb5c9 chore(packages): publish @bytelyst/kill-switch-client@0.1.6 to Gitea registry
The Gitea outdated-package detector reported @bytelyst/kill-switch-client
as the only @bytelyst/* package whose local content fingerprint differed
from the version already published to the registry. All other 63
packages in packages/ were UP-TO-DATE.

Publishing details:
  Before:  0.1.5 (registry + local)
  After:   0.1.6 (script auto-bumped patch + published)
  Files:   9 (dist/index.* + package.json), 3.2 kB tarball,
           shasum a9110243046f12be01b16f48f962ab64c0971d80
  Target:  http://localhost:3300/api/packages/bytelyst/npm/ (corp SSH tunnel)

Detected via:
  bash scripts/gitea/publish-outdated-packages.sh --dry-run
    -> Summary: 63 up-to-date, 1 changed, 1 skipped, 0 errors

Published via:
  bash scripts/gitea/publish-outdated-packages.sh \
       --skip-build \
       --filter @bytelyst/kill-switch-client
    -> + @bytelyst/kill-switch-client@0.1.6

Re-verification dry-run after publish:
  -> Summary: 64 up-to-date, 0 changed, 1 skipped, 0 errors
  -> 'All packages are up to date. Nothing to publish.'

This bump touches two files:
  - packages/kill-switch-client/package.json (version 0.1.5 -> 0.1.6)
  - scripts/gitea/.publish-manifest.json (content-hash bookkeeping
    so future dry-runs don't re-flag this version as needing publish)

Used --skip-build because 'pnpm build' would have tried to build
services/platform-service, which currently has 3 unrelated TS errors
(missing @bytelyst/devops/server module + 2 ProductIdentity property
mismatches). Built only @bytelyst/* packages via
'pnpm --filter ./packages/** build' first (all 65 packages built
clean) and then ran the publisher with --skip-build.
2026-05-23 12:32:49 -07:00
saravanakumardb1
7e08cce95f fix(kill-switch-client): point at /settings/kill-switch (the real endpoint)
The client was calling GET ${baseUrl}/flags/kill-switch which does
not exist on platform-service. The actual kill-switch endpoint lives
under /settings/kill-switch in the settings module (public, no auth
required). The bug was silently masked by the client's fail-open
behavior on non-OK responses, but it produced a 404 on every page
load for every consumer (NoteLett, MindLyst, ChronoMind, FlowMonk,
NomGap, PeakPulse, JarvisJr, LysnrAI, ActionTrail, EffoRise, Local
Memory GPT).

Discovery: running the deployed NoteLett docker stack against the
sibling platform-service, every page load triggered:
  GET http://localhost:4003/api/flags/kill-switch?platform=web → 404
Confirmed by curl-ing both endpoints directly:
  /api/flags/kill-switch        → {"message":"Route GET:/api/flags/kill-switch not found"}
  /api/settings/kill-switch     → {"enabled":true,"disabled":false,"message":""}

Also adds the productId as a query param. The server route accepts
productId from the query string OR an x-product-id header — sending
both is harmless and improves debuggability when grepping logs.

Updated JSDoc and the corresponding test assertion. Test count
unchanged (6 passed).

Verified:
  pnpm --filter @bytelyst/kill-switch-client test → 6/6 passed
  pnpm --filter @bytelyst/kill-switch-client build → ok
  curl /api/settings/kill-switch?productId=notelett → 200 with payload
2026-05-23 10:17:42 -07:00
aad91f3b9d chore: remove embedded Gitea package registry 2026-05-08 21:10:03 -07:00
saravanakumardb1
deff216c7e refactor(gitea): robust manifest-based publish pipeline
publish-outdated-packages.sh rewritten:
- Manifest-based change detection (no registry tarball downloads)
- Single pack per package (not double-pack for check+publish)
- Deterministic content hash: normalizes version, publishConfig,
  and @bytelyst/* dep versions (workspace:* resolution noise)
- Single metadata fetch per package (cached in-process)
- Fixed .npmrc overwrite bug that broke auth during publish phase
- npm_clean() helper strips all proxy env vars uniformly

release-packages.sh fixed:
- .npmrc now includes scoped registry + proxy=false for corp
- Unified corp/home publish path (no duplicated code)
- version_on_registry() uses proxy-stripped env
- Registry credential check uses proxy-stripped env

CI workflow: switched to publish-outdated-packages.sh --skip-build
2026-04-13 01:47:03 -07:00
saravanakumardb1
7b12cba099 chore(packages): bump versions for Gitea registry publish
Published 60 @bytelyst/* packages to local Gitea npm registry.
create-app skipped (private: true — internal scaffolding tool).

Token regenerated with full write:package scope to fix E401.
2026-04-13 00:51:57 -07:00
root
8b37189829 chore(registry): point packages to gitea.bytelyst.com 2026-03-31 10:53:13 +00:00
saravanakumardb1
46ee14371c fix(ci): add --pool forks to all vitest test scripts to fix kill EPERM on Node v25
Root cause: tinypool worker teardown calls kill() which returns EPERM
in the act_runner host environment on Node.js v25.2.1. Tests pass but
the vitest process crashes during cleanup, causing CI failure.

Fix: --pool forks CLI flag on every package/service test script, plus
pool: 'forks' in all vitest.config.ts files. This uses child_process.fork()
worker management which handles termination cleanly.

60 package.json files updated, 10 vitest.config.ts files updated.
2026-03-27 23:23:38 -07:00
saravanakumardb1
b6348fd4fe fix(security): harden npm publish — add .npmrc + publishConfig to all 57 packages
- Created .npmrc with @bytelyst scoped registry pointing to local Gitea
- Added publishConfig.registry to all 57 @bytelyst/* package.json files
- Created scripts/harden-publish-config.sh for future re-runs
- Prevents accidental publish to npmjs.org or corporate JFrog registry
2026-03-26 21:51:05 -07:00
saravanakumardb1
10e252617b feat(packages): fix test assertions for x-request-id header compatibility
- Update kill-switch-client and feature-flag-client tests to use
  expect.objectContaining for headers to handle x-request-id
- Move React Native SDK roadmap to completed/

Total: 44 client-side package tests passing
2026-03-02 09:08:45 -08:00
saravanakumardb1
5c5a18570d fix(ts-clients): add DOM lib to browser-safe package tsconfigs (fetch/AbortController/setTimeout require DOM types) 2026-03-01 21:33:53 -08:00
saravanakumardb1
2518e1a92e fix(ts-clients): add x-request-id header to feature-flag-client and kill-switch-client 2026-03-01 21:17:38 -08:00
saravanakumardb1
91c48a7bc7 feat(sdk): add kotlin-platform-sdk (13 components) + 4 new TS client packages (32 tests) 2026-03-01 18:15:57 -08:00