• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agentic-dev-library / thumbcode / 21125236798

19 Jan 2026 04:23AM UTC coverage: 22.491% (-4.2%) from 26.701%
21125236798

push

github

web-flow
refactor: consolidate services into @thumbcode/core, remove 2.7k LOC dead code (#68)

* fix(deploy): add baseUrl for GitHub Pages and disable caching

- Add experiments.baseUrl: "/thumbcode" for GitHub Pages subdirectory
- Inject no-cache meta tags into HTML files for staging environment
- Fixes Expo app loading issue on GitHub Pages deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(infra): add Render staging + refactor CI/CD workflows

## Changes

### Deployment Infrastructure
- Add render.yaml for Render.com staging deployment
- Configure security headers (X-Frame-Options, X-Content-Type-Options)
- Set up SPA routing with proper cache headers
- Remove baseUrl from app.json (Render serves from root)

### Version Management (DRY)
- Add .nvmrc with Node 22 LTS
- Add packageManager field to package.json (pnpm@10.11.0)
- Update setup-thumbcode action to read from .nvmrc
- Remove hardcoded version numbers from workflows

### Workflow Refactoring
- Refactor ci.yml with latest action SHAs and E2E job
- Create cd.yml for EAS builds and deployments
- Update deploy-gh-pages.yml for documentation only
- Pin all GitHub Actions to latest SHAs:
  - checkout@v6.0.2
  - setup-node@v6
  - pnpm/action-setup@v4
  - expo/expo-github-action@v8
  - codecov-action@v5
  - coverallsapp@v2
  - sonarcloud-github-action@v5

### CI/CD Structure
- ci.yml: lint, typecheck, test, build, e2e
- cd.yml: EAS updates, Android/iOS builds, store submissions
- deploy-gh-pages.yml: documentation with TypeDoc

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(infra): address code review findings

## Fixes from code review

### Critical
- Fix EXPO_TOKEN secret check to use env block pattern (prevents secret leakage)

### Major
- Add pull_request trigger to cd.yml so eas-update job will run
- Add path filters to conserve EAS build minutes (src/**, app.json, eas.json)
- Add typedoc and typedoc-plugin-markdown to devDependencies
- Fix render.yaml: add corep... (continued)

255 of 1783 branches covered (14.3%)

Branch coverage included in aggregate %.

7 of 11 new or added lines in 3 files covered. (63.64%)

2 existing lines in 1 file now uncovered.

646 of 2223 relevant lines covered (29.06%)

1.73 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/packages/core/src/git/GitHttpClient.ts
1
/**
2
 * Custom Git HTTP Client
3
 *
4
 * An isomorphic-git http plugin that uses the secureFetch wrapper
5
 * to sign requests to the MCP server.
6
 */
7
import { secureFetch } from '../api/api';
8

9
async function* toAsyncIterable(
10
  stream: ReadableStream<Uint8Array> | null
11
): AsyncIterableIterator<Uint8Array> {
12
  if (!stream) {
×
13
    return;
×
14
  }
15
  const reader = stream.getReader();
×
16
  try {
×
17
    while (true) {
×
18
      const { done, value } = await reader.read();
×
19
      if (done) {
×
20
        return;
×
21
      }
22
      if (value) {
×
23
        yield value;
×
24
      }
25
    }
26
  } finally {
27
    reader.releaseLock();
×
28
  }
29
}
30

31
export const gitHttpClient = {
×
32
  async request({
33
    url,
34
    method = 'GET',
×
35
    headers = {},
×
36
    body,
37
  }: {
38
    url: string;
39
    method?: string;
40
    headers?: Record<string, string>;
41
    body?: Uint8Array[];
42
  }) {
43
    const res = await secureFetch(url, {
×
44
      method,
45
      headers,
46
      body: body ? new Blob(body) : undefined,
×
47
    });
48

49
    const responseHeaders: Record<string, string> = {};
×
NEW
50
    res.headers.forEach((value: string, key: string) => {
×
51
      responseHeaders[key] = value;
×
52
    });
53

54
    return {
×
55
      url: res.url,
56
      method: method, // The request method
57
      headers: responseHeaders,
58
      body: toAsyncIterable(res.body),
59
      statusCode: res.status,
60
      statusMessage: res.statusText,
61
    };
62
  },
63
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc